5package com.google.ortools.glop;
15 com.google.protobuf.GeneratedMessageV3 implements
18private static final long serialVersionUID = 0L;
20 private GlopParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
26 optimizationRule_ = 1;
27 refactorizationThreshold_ = 1e-09D;
28 recomputeReducedCostsThreshold_ = 1e-08D;
29 recomputeEdgesNormThreshold_ = 100D;
30 primalFeasibilityTolerance_ = 1e-08D;
31 dualFeasibilityTolerance_ = 1e-08D;
32 ratioTestZeroThreshold_ = 1e-09D;
33 harrisToleranceRatio_ = 0.5D;
34 smallPivotThreshold_ = 1e-06D;
35 minimumAcceptablePivot_ = 1e-06D;
36 dropTolerance_ = 1e-14D;
40 useTransposedMatrix_ =
true;
41 basisRefactorizationPeriod_ = 64;
42 dynamicallyAdjustRefactorizationPeriod_ =
true;
43 solveDualProblem_ = 2;
44 dualizerThreshold_ = 1.5D;
45 solutionFeasibilityTolerance_ = 1e-06D;
46 provideStrongOptimalGuarantee_ =
true;
47 changeStatusToImprecise_ =
true;
48 maxNumberOfReoptimizations_ = 40D;
49 luFactorizationPivotThreshold_ = 0.01D;
50 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
51 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
52 maxNumberOfIterations_ = -1L;
53 markowitzZlatevParameter_ = 3;
54 markowitzSingularityThreshold_ = 1e-15D;
55 devexWeightsResetPeriod_ = 150;
56 usePreprocessing_ =
true;
57 useMiddleProductFormUpdate_ =
true;
58 initializeDevexWithColumnNorms_ =
true;
59 exploitSingletonColumnInInitialBasis_ =
true;
60 dualSmallPivotThreshold_ = 0.0001D;
61 preprocessorZeroTolerance_ = 1e-09D;
62 objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
63 objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
64 degenerateMinistepFactor_ = 0.01D;
67 useDedicatedDualFeasibilityAlgorithm_ =
true;
68 relativeCostPerturbation_ = 1e-05D;
69 relativeMaxCostPerturbation_ = 1e-07D;
70 initialConditionNumberThreshold_ = 1e+50D;
72 crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
74 useImpliedFreePreprocessor_ =
true;
75 maxValidMagnitude_ = 1e+30D;
76 dropMagnitude_ = 1e-30D;
80 @SuppressWarnings({
"unused"})
82 UnusedPrivateParameter unused) {
86 public static final com.google.protobuf.Descriptors.Descriptor
88 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_descriptor;
92 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
94 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_fieldAccessorTable
95 .ensureFieldAccessorsInitialized(
96 com.google.ortools.glop.GlopParameters.class, com.google.ortools.glop.GlopParameters.Builder.class);
111 implements com.google.protobuf.ProtocolMessageEnum {
129 public static final int DEFAULT_VALUE = 0;
133 public static final int EQUILIBRATION_VALUE = 1;
137 public static final int LINEAR_PROGRAM_VALUE = 2;
149 @java.lang.Deprecated
151 return forNumber(value);
160 case 0:
return DEFAULT;
161 case 1:
return EQUILIBRATION;
162 case 2:
return LINEAR_PROGRAM;
163 default:
return null;
169 return internalValueMap;
171 private static final com.google.protobuf.Internal.EnumLiteMap<
179 public final com.google.protobuf.Descriptors.EnumValueDescriptor
183 public final com.google.protobuf.Descriptors.EnumDescriptor
187 public static final com.google.protobuf.Descriptors.EnumDescriptor
189 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(0);
195 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
197 throw new java.lang.IllegalArgumentException(
198 "EnumValueDescriptor is not for this type.");
200 return VALUES[desc.getIndex()];
203 private final int value;
221 implements com.google.protobuf.ProtocolMessageEnum {
239 public static final int ALWAYS_DO_VALUE = 0;
243 public static final int NEVER_DO_VALUE = 1;
247 public static final int LET_SOLVER_DECIDE_VALUE = 2;
259 @java.lang.Deprecated
261 return forNumber(value);
270 case 0:
return ALWAYS_DO;
271 case 1:
return NEVER_DO;
272 case 2:
return LET_SOLVER_DECIDE;
273 default:
return null;
277 public static com.google.protobuf.Internal.EnumLiteMap<
SolverBehavior>
279 return internalValueMap;
281 private static final com.google.protobuf.Internal.EnumLiteMap<
289 public final com.google.protobuf.Descriptors.EnumValueDescriptor
293 public final com.google.protobuf.Descriptors.EnumDescriptor
297 public static final com.google.protobuf.Descriptors.EnumDescriptor
299 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(1);
305 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
307 throw new java.lang.IllegalArgumentException(
308 "EnumValueDescriptor is not for this type.");
310 return VALUES[desc.getIndex()];
313 private final int value;
330 implements com.google.protobuf.ProtocolMessageEnum {
377 public static final int DANTZIG_VALUE = 0;
387 public static final int STEEPEST_EDGE_VALUE = 1;
396 public static final int DEVEX_VALUE = 2;
408 @java.lang.Deprecated
410 return forNumber(value);
419 case 0:
return DANTZIG;
420 case 1:
return STEEPEST_EDGE;
421 case 2:
return DEVEX;
422 default:
return null;
426 public static com.google.protobuf.Internal.EnumLiteMap<
PricingRule>
428 return internalValueMap;
430 private static final com.google.protobuf.Internal.EnumLiteMap<
432 new com.google.protobuf.Internal.EnumLiteMap<
PricingRule>() {
438 public final com.google.protobuf.Descriptors.EnumValueDescriptor
442 public final com.google.protobuf.Descriptors.EnumDescriptor
446 public static final com.google.protobuf.Descriptors.EnumDescriptor
448 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(2);
451 private static final PricingRule[] VALUES = values();
454 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
456 throw new java.lang.IllegalArgumentException(
457 "EnumValueDescriptor is not for this type.");
459 return VALUES[desc.getIndex()];
462 private final int value;
480 implements com.google.protobuf.ProtocolMessageEnum {
533 public static final int NONE_VALUE = 0;
546 public static final int BIXBY_VALUE = 1;
558 public static final int TRIANGULAR_VALUE = 2;
568 public static final int MAROS_VALUE = 3;
580 @java.lang.Deprecated
582 return forNumber(value);
592 case 1:
return BIXBY;
593 case 2:
return TRIANGULAR;
594 case 3:
return MAROS;
595 default:
return null;
601 return internalValueMap;
603 private static final com.google.protobuf.Internal.EnumLiteMap<
611 public final com.google.protobuf.Descriptors.EnumValueDescriptor
615 public final com.google.protobuf.Descriptors.EnumDescriptor
619 public static final com.google.protobuf.Descriptors.EnumDescriptor
621 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(3);
627 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
629 throw new java.lang.IllegalArgumentException(
630 "EnumValueDescriptor is not for this type.");
632 return VALUES[desc.getIndex()];
635 private final int value;
656 implements com.google.protobuf.ProtocolMessageEnum {
700 public static final int NO_COST_SCALING_VALUE = 0;
710 public static final int CONTAIN_ONE_COST_SCALING_VALUE = 1;
718 public static final int MEAN_COST_SCALING_VALUE = 2;
726 public static final int MEDIAN_COST_SCALING_VALUE = 3;
738 @java.lang.Deprecated
740 return forNumber(value);
749 case 0:
return NO_COST_SCALING;
750 case 1:
return CONTAIN_ONE_COST_SCALING;
751 case 2:
return MEAN_COST_SCALING;
752 case 3:
return MEDIAN_COST_SCALING;
753 default:
return null;
759 return internalValueMap;
761 private static final com.google.protobuf.Internal.EnumLiteMap<
769 public final com.google.protobuf.Descriptors.EnumValueDescriptor
773 public final com.google.protobuf.Descriptors.EnumDescriptor
777 public static final com.google.protobuf.Descriptors.EnumDescriptor
779 return com.google.ortools.glop.GlopParameters.getDescriptor().getEnumTypes().get(4);
785 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
787 throw new java.lang.IllegalArgumentException(
788 "EnumValueDescriptor is not for this type.");
790 return VALUES[desc.getIndex()];
793 private final int value;
802 private int bitField0_;
803 private int bitField1_;
805 private int scalingMethod_ = 1;
811 return ((bitField0_ & 0x00000001) != 0);
819 return result ==
null ? com.google.ortools.glop.GlopParameters.ScalingAlgorithm.EQUILIBRATION : result;
823 private int feasibilityRule_ = 1;
833 return ((bitField0_ & 0x00000002) != 0);
845 return result ==
null ? com.google.ortools.glop.GlopParameters.PricingRule.STEEPEST_EDGE : result;
849 private int optimizationRule_ = 1;
859 return ((bitField0_ & 0x00000004) != 0);
871 return result ==
null ? com.google.ortools.glop.GlopParameters.PricingRule.STEEPEST_EDGE : result;
875 private double refactorizationThreshold_ = 1e-09D;
891 return ((bitField0_ & 0x00000008) != 0);
908 return refactorizationThreshold_;
912 private double recomputeReducedCostsThreshold_ = 1e-08D;
927 return ((bitField0_ & 0x00000010) != 0);
943 return recomputeReducedCostsThreshold_;
947 private double recomputeEdgesNormThreshold_ = 100D;
962 return ((bitField0_ & 0x00000020) != 0);
978 return recomputeEdgesNormThreshold_;
982 private double primalFeasibilityTolerance_ = 1e-08D;
999 return ((bitField0_ & 0x00000040) != 0);
1017 return primalFeasibilityTolerance_;
1021 private double dualFeasibilityTolerance_ = 1e-08D;
1041 return ((bitField0_ & 0x00000080) != 0);
1062 return dualFeasibilityTolerance_;
1066 private double ratioTestZeroThreshold_ = 1e-09D;
1083 return ((bitField0_ & 0x00000100) != 0);
1101 return ratioTestZeroThreshold_;
1105 private double harrisToleranceRatio_ = 0.5D;
1126 return ((bitField0_ & 0x00000200) != 0);
1148 return harrisToleranceRatio_;
1152 private double smallPivotThreshold_ = 1e-06D;
1166 return ((bitField0_ & 0x00000400) != 0);
1181 return smallPivotThreshold_;
1185 private double minimumAcceptablePivot_ = 1e-06D;
1196 return ((bitField0_ & 0x00000800) != 0);
1208 return minimumAcceptablePivot_;
1212 private double dropTolerance_ = 1e-14D;
1225 return ((bitField0_ & 0x00001000) != 0);
1239 return dropTolerance_;
1243 private boolean useScaling_ =
true;
1255 return ((bitField0_ & 0x00002000) != 0);
1272 private int costScaling_ = 1;
1278 return ((bitField0_ & 0x00004000) != 0);
1286 return result ==
null ? com.google.ortools.glop.GlopParameters.CostScalingAlgorithm.CONTAIN_ONE_COST_SCALING : result;
1290 private int initialBasis_ = 2;
1301 return ((bitField0_ & 0x00008000) != 0);
1314 return result ==
null ? com.google.ortools.glop.GlopParameters.InitialBasisHeuristic.TRIANGULAR : result;
1318 private boolean useTransposedMatrix_ =
true;
1331 return ((bitField0_ & 0x00010000) != 0);
1345 return useTransposedMatrix_;
1349 private int basisRefactorizationPeriod_ = 64;
1362 return ((bitField0_ & 0x00020000) != 0);
1376 return basisRefactorizationPeriod_;
1380 private boolean dynamicallyAdjustRefactorizationPeriod_ =
true;
1395 return ((bitField0_ & 0x00040000) != 0);
1411 return dynamicallyAdjustRefactorizationPeriod_;
1415 private int solveDualProblem_ = 2;
1427 return ((bitField0_ & 0x00080000) != 0);
1441 return result ==
null ? com.google.ortools.glop.GlopParameters.SolverBehavior.LET_SOLVER_DECIDE : result;
1445 private double dualizerThreshold_ = 1.5D;
1458 return ((bitField0_ & 0x00100000) != 0);
1472 return dualizerThreshold_;
1476 private double solutionFeasibilityTolerance_ = 1e-06D;
1494 return ((bitField0_ & 0x00200000) != 0);
1513 return solutionFeasibilityTolerance_;
1517 private boolean provideStrongOptimalGuarantee_ =
true;
1545 return ((bitField0_ & 0x00400000) != 0);
1574 return provideStrongOptimalGuarantee_;
1578 private boolean changeStatusToImprecise_ =
true;
1590 return ((bitField0_ & 0x00800000) != 0);
1603 return changeStatusToImprecise_;
1607 private double maxNumberOfReoptimizations_ = 40D;
1621 return ((bitField0_ & 0x01000000) != 0);
1636 return maxNumberOfReoptimizations_;
1640 private double luFactorizationPivotThreshold_ = 0.01D;
1654 return ((bitField0_ & 0x02000000) != 0);
1669 return luFactorizationPivotThreshold_;
1673 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
1684 return ((bitField0_ & 0x04000000) != 0);
1696 return maxTimeInSeconds_;
1700 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
1715 return ((bitField0_ & 0x08000000) != 0);
1731 return maxDeterministicTime_;
1735 private long maxNumberOfIterations_ = -1L;
1747 return ((bitField0_ & 0x10000000) != 0);
1760 return maxNumberOfIterations_;
1764 private int markowitzZlatevParameter_ = 3;
1776 return ((bitField0_ & 0x20000000) != 0);
1789 return markowitzZlatevParameter_;
1793 private double markowitzSingularityThreshold_ = 1e-15D;
1807 return ((bitField0_ & 0x40000000) != 0);
1822 return markowitzSingularityThreshold_;
1826 private boolean useDualSimplex_ =
false;
1837 return ((bitField0_ & 0x80000000) != 0);
1849 return useDualSimplex_;
1853 private boolean allowSimplexAlgorithmChange_ =
false;
1867 return ((bitField1_ & 0x00000001) != 0);
1882 return allowSimplexAlgorithmChange_;
1886 private int devexWeightsResetPeriod_ = 150;
1897 return ((bitField1_ & 0x00000002) != 0);
1909 return devexWeightsResetPeriod_;
1913 private boolean usePreprocessing_ =
true;
1924 return ((bitField1_ & 0x00000004) != 0);
1936 return usePreprocessing_;
1940 private boolean useMiddleProductFormUpdate_ =
true;
1957 return ((bitField1_ & 0x00000008) != 0);
1975 return useMiddleProductFormUpdate_;
1979 private boolean initializeDevexWithColumnNorms_ =
true;
1991 return ((bitField1_ & 0x00000010) != 0);
2004 return initializeDevexWithColumnNorms_;
2008 private boolean exploitSingletonColumnInInitialBasis_ =
true;
2020 return ((bitField1_ & 0x00000020) != 0);
2033 return exploitSingletonColumnInInitialBasis_;
2037 private double dualSmallPivotThreshold_ = 0.0001D;
2050 return ((bitField1_ & 0x00000040) != 0);
2064 return dualSmallPivotThreshold_;
2068 private double preprocessorZeroTolerance_ = 1e-09D;
2084 return ((bitField1_ & 0x00000080) != 0);
2101 return preprocessorZeroTolerance_;
2105 private double objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
2124 return ((bitField1_ & 0x00000100) != 0);
2144 return objectiveLowerLimit_;
2148 private double objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
2155 return ((bitField1_ & 0x00000200) != 0);
2163 return objectiveUpperLimit_;
2167 private double degenerateMinistepFactor_ = 0.01D;
2195 return ((bitField1_ & 0x00000400) != 0);
2224 return degenerateMinistepFactor_;
2228 private int randomSeed_ = 1;
2253 return ((bitField1_ & 0x00000800) != 0);
2283 private int numOmpThreads_ = 1;
2295 return ((bitField1_ & 0x00001000) != 0);
2308 return numOmpThreads_;
2312 private boolean perturbCostsInDualSimplex_ =
false;
2326 return ((bitField1_ & 0x00002000) != 0);
2341 return perturbCostsInDualSimplex_;
2345 private boolean useDedicatedDualFeasibilityAlgorithm_ =
true;
2363 return ((bitField1_ & 0x00004000) != 0);
2382 return useDedicatedDualFeasibilityAlgorithm_;
2386 private double relativeCostPerturbation_ = 1e-05D;
2400 return ((bitField1_ & 0x00008000) != 0);
2415 return relativeCostPerturbation_;
2419 private double relativeMaxCostPerturbation_ = 1e-07D;
2426 return ((bitField1_ & 0x00010000) != 0);
2434 return relativeMaxCostPerturbation_;
2438 private double initialConditionNumberThreshold_ = 1e+50D;
2451 return ((bitField1_ & 0x00020000) != 0);
2465 return initialConditionNumberThreshold_;
2469 private boolean logSearchProgress_ =
false;
2482 return ((bitField1_ & 0x00040000) != 0);
2496 return logSearchProgress_;
2500 private boolean logToStdout_ =
true;
2511 return ((bitField1_ & 0x00080000) != 0);
2523 return logToStdout_;
2527 private double crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
2552 return ((bitField1_ & 0x00100000) != 0);
2578 return crossoverBoundSnappingDistance_;
2582 private boolean pushToVertex_ =
true;
2598 return ((bitField1_ & 0x00200000) != 0);
2615 return pushToVertex_;
2619 private boolean useImpliedFreePreprocessor_ =
true;
2630 return ((bitField1_ & 0x00400000) != 0);
2642 return useImpliedFreePreprocessor_;
2646 private double maxValidMagnitude_ = 1e+30D;
2662 return ((bitField1_ & 0x00800000) != 0);
2679 return maxValidMagnitude_;
2683 private double dropMagnitude_ = 1e-30D;
2697 return ((bitField1_ & 0x01000000) != 0);
2712 return dropMagnitude_;
2716 private boolean dualPricePrioritizeNorm_ =
false;
2728 return ((bitField1_ & 0x02000000) != 0);
2741 return dualPricePrioritizeNorm_;
2744 private byte memoizedIsInitialized = -1;
2751 memoizedIsInitialized = 1;
2756 public void writeTo(com.google.protobuf.CodedOutputStream output)
2757 throws java.io.IOException {
2758 if (((bitField0_ & 0x00000002) != 0)) {
2759 output.writeEnum(1, feasibilityRule_);
2761 if (((bitField0_ & 0x00000004) != 0)) {
2762 output.writeEnum(2, optimizationRule_);
2764 if (((bitField0_ & 0x00000008) != 0)) {
2765 output.writeDouble(6, refactorizationThreshold_);
2767 if (((bitField0_ & 0x00000010) != 0)) {
2768 output.writeDouble(8, recomputeReducedCostsThreshold_);
2770 if (((bitField0_ & 0x00000020) != 0)) {
2771 output.writeDouble(9, recomputeEdgesNormThreshold_);
2773 if (((bitField0_ & 0x00000040) != 0)) {
2774 output.writeDouble(10, primalFeasibilityTolerance_);
2776 if (((bitField0_ & 0x00000080) != 0)) {
2777 output.writeDouble(11, dualFeasibilityTolerance_);
2779 if (((bitField0_ & 0x00000100) != 0)) {
2780 output.writeDouble(12, ratioTestZeroThreshold_);
2782 if (((bitField0_ & 0x00000200) != 0)) {
2783 output.writeDouble(13, harrisToleranceRatio_);
2785 if (((bitField0_ & 0x00000400) != 0)) {
2786 output.writeDouble(14, smallPivotThreshold_);
2788 if (((bitField0_ & 0x00000800) != 0)) {
2789 output.writeDouble(15, minimumAcceptablePivot_);
2791 if (((bitField0_ & 0x00002000) != 0)) {
2792 output.writeBool(16, useScaling_);
2794 if (((bitField0_ & 0x00008000) != 0)) {
2795 output.writeEnum(17, initialBasis_);
2797 if (((bitField0_ & 0x00010000) != 0)) {
2798 output.writeBool(18, useTransposedMatrix_);
2800 if (((bitField0_ & 0x00020000) != 0)) {
2801 output.writeInt32(19, basisRefactorizationPeriod_);
2803 if (((bitField0_ & 0x00080000) != 0)) {
2804 output.writeEnum(20, solveDualProblem_);
2806 if (((bitField0_ & 0x00100000) != 0)) {
2807 output.writeDouble(21, dualizerThreshold_);
2809 if (((bitField0_ & 0x00200000) != 0)) {
2810 output.writeDouble(22, solutionFeasibilityTolerance_);
2812 if (((bitField0_ & 0x00400000) != 0)) {
2813 output.writeBool(24, provideStrongOptimalGuarantee_);
2815 if (((bitField0_ & 0x02000000) != 0)) {
2816 output.writeDouble(25, luFactorizationPivotThreshold_);
2818 if (((bitField0_ & 0x04000000) != 0)) {
2819 output.writeDouble(26, maxTimeInSeconds_);
2821 if (((bitField0_ & 0x10000000) != 0)) {
2822 output.writeInt64(27, maxNumberOfIterations_);
2824 if (((bitField0_ & 0x20000000) != 0)) {
2825 output.writeInt32(29, markowitzZlatevParameter_);
2827 if (((bitField0_ & 0x40000000) != 0)) {
2828 output.writeDouble(30, markowitzSingularityThreshold_);
2830 if (((bitField0_ & 0x80000000) != 0)) {
2831 output.writeBool(31, useDualSimplex_);
2833 if (((bitField1_ & 0x00000001) != 0)) {
2834 output.writeBool(32, allowSimplexAlgorithmChange_);
2836 if (((bitField1_ & 0x00000002) != 0)) {
2837 output.writeInt32(33, devexWeightsResetPeriod_);
2839 if (((bitField1_ & 0x00000004) != 0)) {
2840 output.writeBool(34, usePreprocessing_);
2842 if (((bitField1_ & 0x00000008) != 0)) {
2843 output.writeBool(35, useMiddleProductFormUpdate_);
2845 if (((bitField1_ & 0x00000010) != 0)) {
2846 output.writeBool(36, initializeDevexWithColumnNorms_);
2848 if (((bitField1_ & 0x00000020) != 0)) {
2849 output.writeBool(37, exploitSingletonColumnInInitialBasis_);
2851 if (((bitField1_ & 0x00000040) != 0)) {
2852 output.writeDouble(38, dualSmallPivotThreshold_);
2854 if (((bitField1_ & 0x00000080) != 0)) {
2855 output.writeDouble(39, preprocessorZeroTolerance_);
2857 if (((bitField1_ & 0x00000100) != 0)) {
2858 output.writeDouble(40, objectiveLowerLimit_);
2860 if (((bitField1_ & 0x00000200) != 0)) {
2861 output.writeDouble(41, objectiveUpperLimit_);
2863 if (((bitField1_ & 0x00000400) != 0)) {
2864 output.writeDouble(42, degenerateMinistepFactor_);
2866 if (((bitField1_ & 0x00000800) != 0)) {
2867 output.writeInt32(43, randomSeed_);
2869 if (((bitField1_ & 0x00001000) != 0)) {
2870 output.writeInt32(44, numOmpThreads_);
2872 if (((bitField0_ & 0x08000000) != 0)) {
2873 output.writeDouble(45, maxDeterministicTime_);
2875 if (((bitField0_ & 0x00001000) != 0)) {
2876 output.writeDouble(52, dropTolerance_);
2878 if (((bitField1_ & 0x00002000) != 0)) {
2879 output.writeBool(53, perturbCostsInDualSimplex_);
2881 if (((bitField1_ & 0x00008000) != 0)) {
2882 output.writeDouble(54, relativeCostPerturbation_);
2884 if (((bitField1_ & 0x00010000) != 0)) {
2885 output.writeDouble(55, relativeMaxCostPerturbation_);
2887 if (((bitField0_ & 0x01000000) != 0)) {
2888 output.writeDouble(56, maxNumberOfReoptimizations_);
2890 if (((bitField0_ & 0x00000001) != 0)) {
2891 output.writeEnum(57, scalingMethod_);
2893 if (((bitField0_ & 0x00800000) != 0)) {
2894 output.writeBool(58, changeStatusToImprecise_);
2896 if (((bitField1_ & 0x00020000) != 0)) {
2897 output.writeDouble(59, initialConditionNumberThreshold_);
2899 if (((bitField0_ & 0x00004000) != 0)) {
2900 output.writeEnum(60, costScaling_);
2902 if (((bitField1_ & 0x00040000) != 0)) {
2903 output.writeBool(61, logSearchProgress_);
2905 if (((bitField1_ & 0x00004000) != 0)) {
2906 output.writeBool(62, useDedicatedDualFeasibilityAlgorithm_);
2908 if (((bitField0_ & 0x00040000) != 0)) {
2909 output.writeBool(63, dynamicallyAdjustRefactorizationPeriod_);
2911 if (((bitField1_ & 0x00100000) != 0)) {
2912 output.writeDouble(64, crossoverBoundSnappingDistance_);
2914 if (((bitField1_ & 0x00200000) != 0)) {
2915 output.writeBool(65, pushToVertex_);
2917 if (((bitField1_ & 0x00080000) != 0)) {
2918 output.writeBool(66, logToStdout_);
2920 if (((bitField1_ & 0x00400000) != 0)) {
2921 output.writeBool(67, useImpliedFreePreprocessor_);
2923 if (((bitField1_ & 0x02000000) != 0)) {
2924 output.writeBool(69, dualPricePrioritizeNorm_);
2926 if (((bitField1_ & 0x00800000) != 0)) {
2927 output.writeDouble(70, maxValidMagnitude_);
2929 if (((bitField1_ & 0x01000000) != 0)) {
2930 output.writeDouble(71, dropMagnitude_);
2932 getUnknownFields().writeTo(output);
2937 int size = memoizedSize;
2938 if (size != -1)
return size;
2941 if (((bitField0_ & 0x00000002) != 0)) {
2942 size += com.google.protobuf.CodedOutputStream
2943 .computeEnumSize(1, feasibilityRule_);
2945 if (((bitField0_ & 0x00000004) != 0)) {
2946 size += com.google.protobuf.CodedOutputStream
2947 .computeEnumSize(2, optimizationRule_);
2949 if (((bitField0_ & 0x00000008) != 0)) {
2950 size += com.google.protobuf.CodedOutputStream
2951 .computeDoubleSize(6, refactorizationThreshold_);
2953 if (((bitField0_ & 0x00000010) != 0)) {
2954 size += com.google.protobuf.CodedOutputStream
2955 .computeDoubleSize(8, recomputeReducedCostsThreshold_);
2957 if (((bitField0_ & 0x00000020) != 0)) {
2958 size += com.google.protobuf.CodedOutputStream
2959 .computeDoubleSize(9, recomputeEdgesNormThreshold_);
2961 if (((bitField0_ & 0x00000040) != 0)) {
2962 size += com.google.protobuf.CodedOutputStream
2963 .computeDoubleSize(10, primalFeasibilityTolerance_);
2965 if (((bitField0_ & 0x00000080) != 0)) {
2966 size += com.google.protobuf.CodedOutputStream
2967 .computeDoubleSize(11, dualFeasibilityTolerance_);
2969 if (((bitField0_ & 0x00000100) != 0)) {
2970 size += com.google.protobuf.CodedOutputStream
2971 .computeDoubleSize(12, ratioTestZeroThreshold_);
2973 if (((bitField0_ & 0x00000200) != 0)) {
2974 size += com.google.protobuf.CodedOutputStream
2975 .computeDoubleSize(13, harrisToleranceRatio_);
2977 if (((bitField0_ & 0x00000400) != 0)) {
2978 size += com.google.protobuf.CodedOutputStream
2979 .computeDoubleSize(14, smallPivotThreshold_);
2981 if (((bitField0_ & 0x00000800) != 0)) {
2982 size += com.google.protobuf.CodedOutputStream
2983 .computeDoubleSize(15, minimumAcceptablePivot_);
2985 if (((bitField0_ & 0x00002000) != 0)) {
2986 size += com.google.protobuf.CodedOutputStream
2987 .computeBoolSize(16, useScaling_);
2989 if (((bitField0_ & 0x00008000) != 0)) {
2990 size += com.google.protobuf.CodedOutputStream
2991 .computeEnumSize(17, initialBasis_);
2993 if (((bitField0_ & 0x00010000) != 0)) {
2994 size += com.google.protobuf.CodedOutputStream
2995 .computeBoolSize(18, useTransposedMatrix_);
2997 if (((bitField0_ & 0x00020000) != 0)) {
2998 size += com.google.protobuf.CodedOutputStream
2999 .computeInt32Size(19, basisRefactorizationPeriod_);
3001 if (((bitField0_ & 0x00080000) != 0)) {
3002 size += com.google.protobuf.CodedOutputStream
3003 .computeEnumSize(20, solveDualProblem_);
3005 if (((bitField0_ & 0x00100000) != 0)) {
3006 size += com.google.protobuf.CodedOutputStream
3007 .computeDoubleSize(21, dualizerThreshold_);
3009 if (((bitField0_ & 0x00200000) != 0)) {
3010 size += com.google.protobuf.CodedOutputStream
3011 .computeDoubleSize(22, solutionFeasibilityTolerance_);
3013 if (((bitField0_ & 0x00400000) != 0)) {
3014 size += com.google.protobuf.CodedOutputStream
3015 .computeBoolSize(24, provideStrongOptimalGuarantee_);
3017 if (((bitField0_ & 0x02000000) != 0)) {
3018 size += com.google.protobuf.CodedOutputStream
3019 .computeDoubleSize(25, luFactorizationPivotThreshold_);
3021 if (((bitField0_ & 0x04000000) != 0)) {
3022 size += com.google.protobuf.CodedOutputStream
3023 .computeDoubleSize(26, maxTimeInSeconds_);
3025 if (((bitField0_ & 0x10000000) != 0)) {
3026 size += com.google.protobuf.CodedOutputStream
3027 .computeInt64Size(27, maxNumberOfIterations_);
3029 if (((bitField0_ & 0x20000000) != 0)) {
3030 size += com.google.protobuf.CodedOutputStream
3031 .computeInt32Size(29, markowitzZlatevParameter_);
3033 if (((bitField0_ & 0x40000000) != 0)) {
3034 size += com.google.protobuf.CodedOutputStream
3035 .computeDoubleSize(30, markowitzSingularityThreshold_);
3037 if (((bitField0_ & 0x80000000) != 0)) {
3038 size += com.google.protobuf.CodedOutputStream
3039 .computeBoolSize(31, useDualSimplex_);
3041 if (((bitField1_ & 0x00000001) != 0)) {
3042 size += com.google.protobuf.CodedOutputStream
3043 .computeBoolSize(32, allowSimplexAlgorithmChange_);
3045 if (((bitField1_ & 0x00000002) != 0)) {
3046 size += com.google.protobuf.CodedOutputStream
3047 .computeInt32Size(33, devexWeightsResetPeriod_);
3049 if (((bitField1_ & 0x00000004) != 0)) {
3050 size += com.google.protobuf.CodedOutputStream
3051 .computeBoolSize(34, usePreprocessing_);
3053 if (((bitField1_ & 0x00000008) != 0)) {
3054 size += com.google.protobuf.CodedOutputStream
3055 .computeBoolSize(35, useMiddleProductFormUpdate_);
3057 if (((bitField1_ & 0x00000010) != 0)) {
3058 size += com.google.protobuf.CodedOutputStream
3059 .computeBoolSize(36, initializeDevexWithColumnNorms_);
3061 if (((bitField1_ & 0x00000020) != 0)) {
3062 size += com.google.protobuf.CodedOutputStream
3063 .computeBoolSize(37, exploitSingletonColumnInInitialBasis_);
3065 if (((bitField1_ & 0x00000040) != 0)) {
3066 size += com.google.protobuf.CodedOutputStream
3067 .computeDoubleSize(38, dualSmallPivotThreshold_);
3069 if (((bitField1_ & 0x00000080) != 0)) {
3070 size += com.google.protobuf.CodedOutputStream
3071 .computeDoubleSize(39, preprocessorZeroTolerance_);
3073 if (((bitField1_ & 0x00000100) != 0)) {
3074 size += com.google.protobuf.CodedOutputStream
3075 .computeDoubleSize(40, objectiveLowerLimit_);
3077 if (((bitField1_ & 0x00000200) != 0)) {
3078 size += com.google.protobuf.CodedOutputStream
3079 .computeDoubleSize(41, objectiveUpperLimit_);
3081 if (((bitField1_ & 0x00000400) != 0)) {
3082 size += com.google.protobuf.CodedOutputStream
3083 .computeDoubleSize(42, degenerateMinistepFactor_);
3085 if (((bitField1_ & 0x00000800) != 0)) {
3086 size += com.google.protobuf.CodedOutputStream
3087 .computeInt32Size(43, randomSeed_);
3089 if (((bitField1_ & 0x00001000) != 0)) {
3090 size += com.google.protobuf.CodedOutputStream
3091 .computeInt32Size(44, numOmpThreads_);
3093 if (((bitField0_ & 0x08000000) != 0)) {
3094 size += com.google.protobuf.CodedOutputStream
3095 .computeDoubleSize(45, maxDeterministicTime_);
3097 if (((bitField0_ & 0x00001000) != 0)) {
3098 size += com.google.protobuf.CodedOutputStream
3099 .computeDoubleSize(52, dropTolerance_);
3101 if (((bitField1_ & 0x00002000) != 0)) {
3102 size += com.google.protobuf.CodedOutputStream
3103 .computeBoolSize(53, perturbCostsInDualSimplex_);
3105 if (((bitField1_ & 0x00008000) != 0)) {
3106 size += com.google.protobuf.CodedOutputStream
3107 .computeDoubleSize(54, relativeCostPerturbation_);
3109 if (((bitField1_ & 0x00010000) != 0)) {
3110 size += com.google.protobuf.CodedOutputStream
3111 .computeDoubleSize(55, relativeMaxCostPerturbation_);
3113 if (((bitField0_ & 0x01000000) != 0)) {
3114 size += com.google.protobuf.CodedOutputStream
3115 .computeDoubleSize(56, maxNumberOfReoptimizations_);
3117 if (((bitField0_ & 0x00000001) != 0)) {
3118 size += com.google.protobuf.CodedOutputStream
3119 .computeEnumSize(57, scalingMethod_);
3121 if (((bitField0_ & 0x00800000) != 0)) {
3122 size += com.google.protobuf.CodedOutputStream
3123 .computeBoolSize(58, changeStatusToImprecise_);
3125 if (((bitField1_ & 0x00020000) != 0)) {
3126 size += com.google.protobuf.CodedOutputStream
3127 .computeDoubleSize(59, initialConditionNumberThreshold_);
3129 if (((bitField0_ & 0x00004000) != 0)) {
3130 size += com.google.protobuf.CodedOutputStream
3131 .computeEnumSize(60, costScaling_);
3133 if (((bitField1_ & 0x00040000) != 0)) {
3134 size += com.google.protobuf.CodedOutputStream
3135 .computeBoolSize(61, logSearchProgress_);
3137 if (((bitField1_ & 0x00004000) != 0)) {
3138 size += com.google.protobuf.CodedOutputStream
3139 .computeBoolSize(62, useDedicatedDualFeasibilityAlgorithm_);
3141 if (((bitField0_ & 0x00040000) != 0)) {
3142 size += com.google.protobuf.CodedOutputStream
3143 .computeBoolSize(63, dynamicallyAdjustRefactorizationPeriod_);
3145 if (((bitField1_ & 0x00100000) != 0)) {
3146 size += com.google.protobuf.CodedOutputStream
3147 .computeDoubleSize(64, crossoverBoundSnappingDistance_);
3149 if (((bitField1_ & 0x00200000) != 0)) {
3150 size += com.google.protobuf.CodedOutputStream
3151 .computeBoolSize(65, pushToVertex_);
3153 if (((bitField1_ & 0x00080000) != 0)) {
3154 size += com.google.protobuf.CodedOutputStream
3155 .computeBoolSize(66, logToStdout_);
3157 if (((bitField1_ & 0x00400000) != 0)) {
3158 size += com.google.protobuf.CodedOutputStream
3159 .computeBoolSize(67, useImpliedFreePreprocessor_);
3161 if (((bitField1_ & 0x02000000) != 0)) {
3162 size += com.google.protobuf.CodedOutputStream
3163 .computeBoolSize(69, dualPricePrioritizeNorm_);
3165 if (((bitField1_ & 0x00800000) != 0)) {
3166 size += com.google.protobuf.CodedOutputStream
3167 .computeDoubleSize(70, maxValidMagnitude_);
3169 if (((bitField1_ & 0x01000000) != 0)) {
3170 size += com.google.protobuf.CodedOutputStream
3171 .computeDoubleSize(71, dropMagnitude_);
3173 size += getUnknownFields().getSerializedSize();
3174 memoizedSize = size;
3179 public boolean equals(
final java.lang.Object obj) {
3183 if (!(obj instanceof com.google.ortools.glop.GlopParameters)) {
3184 return super.equals(obj);
3190 if (scalingMethod_ != other.scalingMethod_)
return false;
3194 if (feasibilityRule_ != other.feasibilityRule_)
return false;
3198 if (optimizationRule_ != other.optimizationRule_)
return false;
3203 != java.lang.Double.doubleToLongBits(
3209 != java.lang.Double.doubleToLongBits(
3215 != java.lang.Double.doubleToLongBits(
3221 != java.lang.Double.doubleToLongBits(
3227 != java.lang.Double.doubleToLongBits(
3233 != java.lang.Double.doubleToLongBits(
3239 != java.lang.Double.doubleToLongBits(
3245 != java.lang.Double.doubleToLongBits(
3251 != java.lang.Double.doubleToLongBits(
3257 != java.lang.Double.doubleToLongBits(
3267 if (costScaling_ != other.costScaling_)
return false;
3271 if (initialBasis_ != other.initialBasis_)
return false;
3290 if (solveDualProblem_ != other.solveDualProblem_)
return false;
3295 != java.lang.Double.doubleToLongBits(
3301 != java.lang.Double.doubleToLongBits(
3317 != java.lang.Double.doubleToLongBits(
3323 != java.lang.Double.doubleToLongBits(
3329 != java.lang.Double.doubleToLongBits(
3335 != java.lang.Double.doubleToLongBits(
3351 != java.lang.Double.doubleToLongBits(
3392 != java.lang.Double.doubleToLongBits(
3398 != java.lang.Double.doubleToLongBits(
3404 != java.lang.Double.doubleToLongBits(
3410 != java.lang.Double.doubleToLongBits(
3416 != java.lang.Double.doubleToLongBits(
3442 != java.lang.Double.doubleToLongBits(
3448 != java.lang.Double.doubleToLongBits(
3454 != java.lang.Double.doubleToLongBits(
3470 != java.lang.Double.doubleToLongBits(
3486 != java.lang.Double.doubleToLongBits(
3492 != java.lang.Double.doubleToLongBits(
3500 if (!getUnknownFields().equals(other.getUnknownFields()))
return false;
3506 if (memoizedHashCode != 0) {
3507 return memoizedHashCode;
3513 hash = (53 * hash) + scalingMethod_;
3517 hash = (53 * hash) + feasibilityRule_;
3521 hash = (53 * hash) + optimizationRule_;
3525 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3530 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3535 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3540 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3545 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3550 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3555 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3560 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3565 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3570 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3575 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3580 hash = (53 * hash) + costScaling_;
3584 hash = (53 * hash) + initialBasis_;
3588 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3597 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3602 hash = (53 * hash) + solveDualProblem_;
3606 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3611 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3616 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3621 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3626 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3631 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3636 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3641 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3646 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3655 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3660 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3665 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3674 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3679 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3684 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3689 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
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.hashLong(
3709 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3714 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3727 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3732 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3737 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3742 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3747 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3752 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3757 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3762 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
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.hashLong(
3782 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
3787 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
3790 hash = (29 * hash) + getUnknownFields().hashCode();
3791 memoizedHashCode = hash;
3796 java.nio.ByteBuffer data)
3797 throws com.google.protobuf.InvalidProtocolBufferException {
3801 java.nio.ByteBuffer data,
3802 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3803 throws com.google.protobuf.InvalidProtocolBufferException {
3807 com.google.protobuf.ByteString data)
3808 throws com.google.protobuf.InvalidProtocolBufferException {
3812 com.google.protobuf.ByteString data,
3813 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3814 throws com.google.protobuf.InvalidProtocolBufferException {
3818 throws com.google.protobuf.InvalidProtocolBufferException {
3823 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3824 throws com.google.protobuf.InvalidProtocolBufferException {
3828 throws java.io.IOException {
3829 return com.google.protobuf.GeneratedMessageV3
3830 .parseWithIOException(
PARSER, input);
3833 java.io.InputStream input,
3834 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3835 throws java.io.IOException {
3836 return com.google.protobuf.GeneratedMessageV3
3837 .parseWithIOException(
PARSER, input, extensionRegistry);
3841 throws java.io.IOException {
3842 return com.google.protobuf.GeneratedMessageV3
3843 .parseDelimitedWithIOException(
PARSER, input);
3847 java.io.InputStream input,
3848 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3849 throws java.io.IOException {
3850 return com.google.protobuf.GeneratedMessageV3
3851 .parseDelimitedWithIOException(
PARSER, input, extensionRegistry);
3854 com.google.protobuf.CodedInputStream input)
3855 throws java.io.IOException {
3856 return com.google.protobuf.GeneratedMessageV3
3857 .parseWithIOException(
PARSER, input);
3860 com.google.protobuf.CodedInputStream input,
3861 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3862 throws java.io.IOException {
3863 return com.google.protobuf.GeneratedMessageV3
3864 .parseWithIOException(
PARSER, input, extensionRegistry);
3877 return this == DEFAULT_INSTANCE
3883 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3895 com.google.protobuf.GeneratedMessageV3.
Builder<Builder> implements
3898 public static final com.google.protobuf.Descriptors.Descriptor
3900 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_descriptor;
3904 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
3906 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_fieldAccessorTable
3907 .ensureFieldAccessorsInitialized(
3908 com.google.ortools.glop.GlopParameters.class, com.google.ortools.glop.GlopParameters.Builder.class);
3917 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3927 feasibilityRule_ = 1;
3928 optimizationRule_ = 1;
3929 refactorizationThreshold_ = 1e-09D;
3930 recomputeReducedCostsThreshold_ = 1e-08D;
3931 recomputeEdgesNormThreshold_ = 100D;
3932 primalFeasibilityTolerance_ = 1e-08D;
3933 dualFeasibilityTolerance_ = 1e-08D;
3934 ratioTestZeroThreshold_ = 1e-09D;
3935 harrisToleranceRatio_ = 0.5D;
3936 smallPivotThreshold_ = 1e-06D;
3937 minimumAcceptablePivot_ = 1e-06D;
3938 dropTolerance_ = 1e-14D;
3942 useTransposedMatrix_ =
true;
3943 basisRefactorizationPeriod_ = 64;
3944 dynamicallyAdjustRefactorizationPeriod_ =
true;
3945 solveDualProblem_ = 2;
3946 dualizerThreshold_ = 1.5D;
3947 solutionFeasibilityTolerance_ = 1e-06D;
3948 provideStrongOptimalGuarantee_ =
true;
3949 changeStatusToImprecise_ =
true;
3950 maxNumberOfReoptimizations_ = 40D;
3951 luFactorizationPivotThreshold_ = 0.01D;
3952 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
3953 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
3954 maxNumberOfIterations_ = -1L;
3955 markowitzZlatevParameter_ = 3;
3956 markowitzSingularityThreshold_ = 1e-15D;
3957 useDualSimplex_ =
false;
3958 allowSimplexAlgorithmChange_ =
false;
3959 devexWeightsResetPeriod_ = 150;
3960 usePreprocessing_ =
true;
3961 useMiddleProductFormUpdate_ =
true;
3962 initializeDevexWithColumnNorms_ =
true;
3963 exploitSingletonColumnInInitialBasis_ =
true;
3964 dualSmallPivotThreshold_ = 0.0001D;
3965 preprocessorZeroTolerance_ = 1e-09D;
3966 objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
3967 objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
3968 degenerateMinistepFactor_ = 0.01D;
3971 perturbCostsInDualSimplex_ =
false;
3972 useDedicatedDualFeasibilityAlgorithm_ =
true;
3973 relativeCostPerturbation_ = 1e-05D;
3974 relativeMaxCostPerturbation_ = 1e-07D;
3975 initialConditionNumberThreshold_ = 1e+50D;
3976 logSearchProgress_ =
false;
3977 logToStdout_ =
true;
3978 crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
3979 pushToVertex_ =
true;
3980 useImpliedFreePreprocessor_ =
true;
3981 maxValidMagnitude_ = 1e+30D;
3982 dropMagnitude_ = 1e-30D;
3983 dualPricePrioritizeNorm_ =
false;
3988 public com.google.protobuf.Descriptors.Descriptor
3990 return com.google.ortools.glop.Parameters.internal_static_operations_research_glop_GlopParameters_descriptor;
3995 return com.google.ortools.glop.GlopParameters.getDefaultInstance();
4002 throw newUninitializedMessageException(result);
4010 if (bitField0_ != 0) { buildPartial0(result); }
4011 if (bitField1_ != 0) { buildPartial1(result); }
4016 private void buildPartial0(com.google.ortools.glop.GlopParameters result) {
4017 int from_bitField0_ = bitField0_;
4018 int to_bitField0_ = 0;
4019 if (((from_bitField0_ & 0x00000001) != 0)) {
4020 result.scalingMethod_ = scalingMethod_;
4021 to_bitField0_ |= 0x00000001;
4023 if (((from_bitField0_ & 0x00000002) != 0)) {
4024 result.feasibilityRule_ = feasibilityRule_;
4025 to_bitField0_ |= 0x00000002;
4027 if (((from_bitField0_ & 0x00000004) != 0)) {
4028 result.optimizationRule_ = optimizationRule_;
4029 to_bitField0_ |= 0x00000004;
4031 if (((from_bitField0_ & 0x00000008) != 0)) {
4032 result.refactorizationThreshold_ = refactorizationThreshold_;
4033 to_bitField0_ |= 0x00000008;
4035 if (((from_bitField0_ & 0x00000010) != 0)) {
4036 result.recomputeReducedCostsThreshold_ = recomputeReducedCostsThreshold_;
4037 to_bitField0_ |= 0x00000010;
4039 if (((from_bitField0_ & 0x00000020) != 0)) {
4040 result.recomputeEdgesNormThreshold_ = recomputeEdgesNormThreshold_;
4041 to_bitField0_ |= 0x00000020;
4043 if (((from_bitField0_ & 0x00000040) != 0)) {
4044 result.primalFeasibilityTolerance_ = primalFeasibilityTolerance_;
4045 to_bitField0_ |= 0x00000040;
4047 if (((from_bitField0_ & 0x00000080) != 0)) {
4048 result.dualFeasibilityTolerance_ = dualFeasibilityTolerance_;
4049 to_bitField0_ |= 0x00000080;
4051 if (((from_bitField0_ & 0x00000100) != 0)) {
4052 result.ratioTestZeroThreshold_ = ratioTestZeroThreshold_;
4053 to_bitField0_ |= 0x00000100;
4055 if (((from_bitField0_ & 0x00000200) != 0)) {
4056 result.harrisToleranceRatio_ = harrisToleranceRatio_;
4057 to_bitField0_ |= 0x00000200;
4059 if (((from_bitField0_ & 0x00000400) != 0)) {
4060 result.smallPivotThreshold_ = smallPivotThreshold_;
4061 to_bitField0_ |= 0x00000400;
4063 if (((from_bitField0_ & 0x00000800) != 0)) {
4064 result.minimumAcceptablePivot_ = minimumAcceptablePivot_;
4065 to_bitField0_ |= 0x00000800;
4067 if (((from_bitField0_ & 0x00001000) != 0)) {
4068 result.dropTolerance_ = dropTolerance_;
4069 to_bitField0_ |= 0x00001000;
4071 if (((from_bitField0_ & 0x00002000) != 0)) {
4072 result.useScaling_ = useScaling_;
4073 to_bitField0_ |= 0x00002000;
4075 if (((from_bitField0_ & 0x00004000) != 0)) {
4076 result.costScaling_ = costScaling_;
4077 to_bitField0_ |= 0x00004000;
4079 if (((from_bitField0_ & 0x00008000) != 0)) {
4080 result.initialBasis_ = initialBasis_;
4081 to_bitField0_ |= 0x00008000;
4083 if (((from_bitField0_ & 0x00010000) != 0)) {
4084 result.useTransposedMatrix_ = useTransposedMatrix_;
4085 to_bitField0_ |= 0x00010000;
4087 if (((from_bitField0_ & 0x00020000) != 0)) {
4088 result.basisRefactorizationPeriod_ = basisRefactorizationPeriod_;
4089 to_bitField0_ |= 0x00020000;
4091 if (((from_bitField0_ & 0x00040000) != 0)) {
4092 result.dynamicallyAdjustRefactorizationPeriod_ = dynamicallyAdjustRefactorizationPeriod_;
4093 to_bitField0_ |= 0x00040000;
4095 if (((from_bitField0_ & 0x00080000) != 0)) {
4096 result.solveDualProblem_ = solveDualProblem_;
4097 to_bitField0_ |= 0x00080000;
4099 if (((from_bitField0_ & 0x00100000) != 0)) {
4100 result.dualizerThreshold_ = dualizerThreshold_;
4101 to_bitField0_ |= 0x00100000;
4103 if (((from_bitField0_ & 0x00200000) != 0)) {
4104 result.solutionFeasibilityTolerance_ = solutionFeasibilityTolerance_;
4105 to_bitField0_ |= 0x00200000;
4107 if (((from_bitField0_ & 0x00400000) != 0)) {
4108 result.provideStrongOptimalGuarantee_ = provideStrongOptimalGuarantee_;
4109 to_bitField0_ |= 0x00400000;
4111 if (((from_bitField0_ & 0x00800000) != 0)) {
4112 result.changeStatusToImprecise_ = changeStatusToImprecise_;
4113 to_bitField0_ |= 0x00800000;
4115 if (((from_bitField0_ & 0x01000000) != 0)) {
4116 result.maxNumberOfReoptimizations_ = maxNumberOfReoptimizations_;
4117 to_bitField0_ |= 0x01000000;
4119 if (((from_bitField0_ & 0x02000000) != 0)) {
4120 result.luFactorizationPivotThreshold_ = luFactorizationPivotThreshold_;
4121 to_bitField0_ |= 0x02000000;
4123 if (((from_bitField0_ & 0x04000000) != 0)) {
4124 result.maxTimeInSeconds_ = maxTimeInSeconds_;
4125 to_bitField0_ |= 0x04000000;
4127 if (((from_bitField0_ & 0x08000000) != 0)) {
4128 result.maxDeterministicTime_ = maxDeterministicTime_;
4129 to_bitField0_ |= 0x08000000;
4131 if (((from_bitField0_ & 0x10000000) != 0)) {
4132 result.maxNumberOfIterations_ = maxNumberOfIterations_;
4133 to_bitField0_ |= 0x10000000;
4135 if (((from_bitField0_ & 0x20000000) != 0)) {
4136 result.markowitzZlatevParameter_ = markowitzZlatevParameter_;
4137 to_bitField0_ |= 0x20000000;
4139 if (((from_bitField0_ & 0x40000000) != 0)) {
4140 result.markowitzSingularityThreshold_ = markowitzSingularityThreshold_;
4141 to_bitField0_ |= 0x40000000;
4143 if (((from_bitField0_ & 0x80000000) != 0)) {
4144 result.useDualSimplex_ = useDualSimplex_;
4145 to_bitField0_ |= 0x80000000;
4147 result.bitField0_ |= to_bitField0_;
4150 private void buildPartial1(com.google.ortools.glop.GlopParameters result) {
4151 int from_bitField1_ = bitField1_;
4152 int to_bitField1_ = 0;
4153 if (((from_bitField1_ & 0x00000001) != 0)) {
4154 result.allowSimplexAlgorithmChange_ = allowSimplexAlgorithmChange_;
4155 to_bitField1_ |= 0x00000001;
4157 if (((from_bitField1_ & 0x00000002) != 0)) {
4158 result.devexWeightsResetPeriod_ = devexWeightsResetPeriod_;
4159 to_bitField1_ |= 0x00000002;
4161 if (((from_bitField1_ & 0x00000004) != 0)) {
4162 result.usePreprocessing_ = usePreprocessing_;
4163 to_bitField1_ |= 0x00000004;
4165 if (((from_bitField1_ & 0x00000008) != 0)) {
4166 result.useMiddleProductFormUpdate_ = useMiddleProductFormUpdate_;
4167 to_bitField1_ |= 0x00000008;
4169 if (((from_bitField1_ & 0x00000010) != 0)) {
4170 result.initializeDevexWithColumnNorms_ = initializeDevexWithColumnNorms_;
4171 to_bitField1_ |= 0x00000010;
4173 if (((from_bitField1_ & 0x00000020) != 0)) {
4174 result.exploitSingletonColumnInInitialBasis_ = exploitSingletonColumnInInitialBasis_;
4175 to_bitField1_ |= 0x00000020;
4177 if (((from_bitField1_ & 0x00000040) != 0)) {
4178 result.dualSmallPivotThreshold_ = dualSmallPivotThreshold_;
4179 to_bitField1_ |= 0x00000040;
4181 if (((from_bitField1_ & 0x00000080) != 0)) {
4182 result.preprocessorZeroTolerance_ = preprocessorZeroTolerance_;
4183 to_bitField1_ |= 0x00000080;
4185 if (((from_bitField1_ & 0x00000100) != 0)) {
4186 result.objectiveLowerLimit_ = objectiveLowerLimit_;
4187 to_bitField1_ |= 0x00000100;
4189 if (((from_bitField1_ & 0x00000200) != 0)) {
4190 result.objectiveUpperLimit_ = objectiveUpperLimit_;
4191 to_bitField1_ |= 0x00000200;
4193 if (((from_bitField1_ & 0x00000400) != 0)) {
4194 result.degenerateMinistepFactor_ = degenerateMinistepFactor_;
4195 to_bitField1_ |= 0x00000400;
4197 if (((from_bitField1_ & 0x00000800) != 0)) {
4198 result.randomSeed_ = randomSeed_;
4199 to_bitField1_ |= 0x00000800;
4201 if (((from_bitField1_ & 0x00001000) != 0)) {
4202 result.numOmpThreads_ = numOmpThreads_;
4203 to_bitField1_ |= 0x00001000;
4205 if (((from_bitField1_ & 0x00002000) != 0)) {
4206 result.perturbCostsInDualSimplex_ = perturbCostsInDualSimplex_;
4207 to_bitField1_ |= 0x00002000;
4209 if (((from_bitField1_ & 0x00004000) != 0)) {
4210 result.useDedicatedDualFeasibilityAlgorithm_ = useDedicatedDualFeasibilityAlgorithm_;
4211 to_bitField1_ |= 0x00004000;
4213 if (((from_bitField1_ & 0x00008000) != 0)) {
4214 result.relativeCostPerturbation_ = relativeCostPerturbation_;
4215 to_bitField1_ |= 0x00008000;
4217 if (((from_bitField1_ & 0x00010000) != 0)) {
4218 result.relativeMaxCostPerturbation_ = relativeMaxCostPerturbation_;
4219 to_bitField1_ |= 0x00010000;
4221 if (((from_bitField1_ & 0x00020000) != 0)) {
4222 result.initialConditionNumberThreshold_ = initialConditionNumberThreshold_;
4223 to_bitField1_ |= 0x00020000;
4225 if (((from_bitField1_ & 0x00040000) != 0)) {
4226 result.logSearchProgress_ = logSearchProgress_;
4227 to_bitField1_ |= 0x00040000;
4229 if (((from_bitField1_ & 0x00080000) != 0)) {
4230 result.logToStdout_ = logToStdout_;
4231 to_bitField1_ |= 0x00080000;
4233 if (((from_bitField1_ & 0x00100000) != 0)) {
4234 result.crossoverBoundSnappingDistance_ = crossoverBoundSnappingDistance_;
4235 to_bitField1_ |= 0x00100000;
4237 if (((from_bitField1_ & 0x00200000) != 0)) {
4238 result.pushToVertex_ = pushToVertex_;
4239 to_bitField1_ |= 0x00200000;
4241 if (((from_bitField1_ & 0x00400000) != 0)) {
4242 result.useImpliedFreePreprocessor_ = useImpliedFreePreprocessor_;
4243 to_bitField1_ |= 0x00400000;
4245 if (((from_bitField1_ & 0x00800000) != 0)) {
4246 result.maxValidMagnitude_ = maxValidMagnitude_;
4247 to_bitField1_ |= 0x00800000;
4249 if (((from_bitField1_ & 0x01000000) != 0)) {
4250 result.dropMagnitude_ = dropMagnitude_;
4251 to_bitField1_ |= 0x01000000;
4253 if (((from_bitField1_ & 0x02000000) != 0)) {
4254 result.dualPricePrioritizeNorm_ = dualPricePrioritizeNorm_;
4255 to_bitField1_ |= 0x02000000;
4257 result.bitField1_ |= to_bitField1_;
4262 return super.
clone();
4266 com.google.protobuf.Descriptors.FieldDescriptor field,
4267 java.lang.Object value) {
4268 return super.
setField(field, value);
4272 com.google.protobuf.Descriptors.FieldDescriptor field) {
4277 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
4282 com.google.protobuf.Descriptors.FieldDescriptor field,
4283 int index, java.lang.Object value) {
4288 com.google.protobuf.Descriptors.FieldDescriptor field,
4289 java.lang.Object value) {
4294 if (other instanceof com.google.ortools.glop.GlopParameters) {
4295 return mergeFrom((com.google.ortools.glop.GlopParameters)other);
4297 super.mergeFrom(other);
4303 if (other == com.google.ortools.glop.GlopParameters.getDefaultInstance())
return this;
4304 if (other.hasScalingMethod()) {
4307 if (other.hasFeasibilityRule()) {
4310 if (other.hasOptimizationRule()) {
4313 if (other.hasRefactorizationThreshold()) {
4316 if (other.hasRecomputeReducedCostsThreshold()) {
4319 if (other.hasRecomputeEdgesNormThreshold()) {
4322 if (other.hasPrimalFeasibilityTolerance()) {
4325 if (other.hasDualFeasibilityTolerance()) {
4328 if (other.hasRatioTestZeroThreshold()) {
4331 if (other.hasHarrisToleranceRatio()) {
4334 if (other.hasSmallPivotThreshold()) {
4337 if (other.hasMinimumAcceptablePivot()) {
4340 if (other.hasDropTolerance()) {
4343 if (other.hasUseScaling()) {
4346 if (other.hasCostScaling()) {
4349 if (other.hasInitialBasis()) {
4352 if (other.hasUseTransposedMatrix()) {
4355 if (other.hasBasisRefactorizationPeriod()) {
4358 if (other.hasDynamicallyAdjustRefactorizationPeriod()) {
4361 if (other.hasSolveDualProblem()) {
4364 if (other.hasDualizerThreshold()) {
4367 if (other.hasSolutionFeasibilityTolerance()) {
4370 if (other.hasProvideStrongOptimalGuarantee()) {
4373 if (other.hasChangeStatusToImprecise()) {
4376 if (other.hasMaxNumberOfReoptimizations()) {
4379 if (other.hasLuFactorizationPivotThreshold()) {
4382 if (other.hasMaxTimeInSeconds()) {
4385 if (other.hasMaxDeterministicTime()) {
4388 if (other.hasMaxNumberOfIterations()) {
4391 if (other.hasMarkowitzZlatevParameter()) {
4394 if (other.hasMarkowitzSingularityThreshold()) {
4397 if (other.hasUseDualSimplex()) {
4400 if (other.hasAllowSimplexAlgorithmChange()) {
4403 if (other.hasDevexWeightsResetPeriod()) {
4406 if (other.hasUsePreprocessing()) {
4409 if (other.hasUseMiddleProductFormUpdate()) {
4412 if (other.hasInitializeDevexWithColumnNorms()) {
4415 if (other.hasExploitSingletonColumnInInitialBasis()) {
4418 if (other.hasDualSmallPivotThreshold()) {
4421 if (other.hasPreprocessorZeroTolerance()) {
4424 if (other.hasObjectiveLowerLimit()) {
4427 if (other.hasObjectiveUpperLimit()) {
4430 if (other.hasDegenerateMinistepFactor()) {
4433 if (other.hasRandomSeed()) {
4436 if (other.hasNumOmpThreads()) {
4439 if (other.hasPerturbCostsInDualSimplex()) {
4442 if (other.hasUseDedicatedDualFeasibilityAlgorithm()) {
4445 if (other.hasRelativeCostPerturbation()) {
4448 if (other.hasRelativeMaxCostPerturbation()) {
4451 if (other.hasInitialConditionNumberThreshold()) {
4454 if (other.hasLogSearchProgress()) {
4457 if (other.hasLogToStdout()) {
4460 if (other.hasCrossoverBoundSnappingDistance()) {
4463 if (other.hasPushToVertex()) {
4466 if (other.hasUseImpliedFreePreprocessor()) {
4469 if (other.hasMaxValidMagnitude()) {
4472 if (other.hasDropMagnitude()) {
4475 if (other.hasDualPricePrioritizeNorm()) {
4490 com.google.protobuf.CodedInputStream input,
4491 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4492 throws java.io.IOException {
4493 if (extensionRegistry ==
null) {
4494 throw new java.lang.NullPointerException();
4497 boolean done =
false;
4499 int tag = input.readTag();
4505 int tmpRaw = input.readEnum();
4507 com.google.ortools.glop.GlopParameters.PricingRule.forNumber(tmpRaw);
4508 if (tmpValue ==
null) {
4509 mergeUnknownVarintField(1, tmpRaw);
4511 feasibilityRule_ = tmpRaw;
4512 bitField0_ |= 0x00000002;
4517 int tmpRaw = input.readEnum();
4519 com.google.ortools.glop.GlopParameters.PricingRule.forNumber(tmpRaw);
4520 if (tmpValue ==
null) {
4521 mergeUnknownVarintField(2, tmpRaw);
4523 optimizationRule_ = tmpRaw;
4524 bitField0_ |= 0x00000004;
4529 refactorizationThreshold_ = input.readDouble();
4530 bitField0_ |= 0x00000008;
4534 recomputeReducedCostsThreshold_ = input.readDouble();
4535 bitField0_ |= 0x00000010;
4539 recomputeEdgesNormThreshold_ = input.readDouble();
4540 bitField0_ |= 0x00000020;
4544 primalFeasibilityTolerance_ = input.readDouble();
4545 bitField0_ |= 0x00000040;
4549 dualFeasibilityTolerance_ = input.readDouble();
4550 bitField0_ |= 0x00000080;
4554 ratioTestZeroThreshold_ = input.readDouble();
4555 bitField0_ |= 0x00000100;
4559 harrisToleranceRatio_ = input.readDouble();
4560 bitField0_ |= 0x00000200;
4564 smallPivotThreshold_ = input.readDouble();
4565 bitField0_ |= 0x00000400;
4569 minimumAcceptablePivot_ = input.readDouble();
4570 bitField0_ |= 0x00000800;
4574 useScaling_ = input.readBool();
4575 bitField0_ |= 0x00002000;
4579 int tmpRaw = input.readEnum();
4581 com.google.ortools.glop.GlopParameters.InitialBasisHeuristic.forNumber(tmpRaw);
4582 if (tmpValue ==
null) {
4583 mergeUnknownVarintField(17, tmpRaw);
4585 initialBasis_ = tmpRaw;
4586 bitField0_ |= 0x00008000;
4591 useTransposedMatrix_ = input.readBool();
4592 bitField0_ |= 0x00010000;
4596 basisRefactorizationPeriod_ = input.readInt32();
4597 bitField0_ |= 0x00020000;
4601 int tmpRaw = input.readEnum();
4603 com.google.ortools.glop.GlopParameters.SolverBehavior.forNumber(tmpRaw);
4604 if (tmpValue ==
null) {
4605 mergeUnknownVarintField(20, tmpRaw);
4607 solveDualProblem_ = tmpRaw;
4608 bitField0_ |= 0x00080000;
4613 dualizerThreshold_ = input.readDouble();
4614 bitField0_ |= 0x00100000;
4618 solutionFeasibilityTolerance_ = input.readDouble();
4619 bitField0_ |= 0x00200000;
4623 provideStrongOptimalGuarantee_ = input.readBool();
4624 bitField0_ |= 0x00400000;
4628 luFactorizationPivotThreshold_ = input.readDouble();
4629 bitField0_ |= 0x02000000;
4633 maxTimeInSeconds_ = input.readDouble();
4634 bitField0_ |= 0x04000000;
4638 maxNumberOfIterations_ = input.readInt64();
4639 bitField0_ |= 0x10000000;
4643 markowitzZlatevParameter_ = input.readInt32();
4644 bitField0_ |= 0x20000000;
4648 markowitzSingularityThreshold_ = input.readDouble();
4649 bitField0_ |= 0x40000000;
4653 useDualSimplex_ = input.readBool();
4654 bitField0_ |= 0x80000000;
4658 allowSimplexAlgorithmChange_ = input.readBool();
4659 bitField1_ |= 0x00000001;
4663 devexWeightsResetPeriod_ = input.readInt32();
4664 bitField1_ |= 0x00000002;
4668 usePreprocessing_ = input.readBool();
4669 bitField1_ |= 0x00000004;
4673 useMiddleProductFormUpdate_ = input.readBool();
4674 bitField1_ |= 0x00000008;
4678 initializeDevexWithColumnNorms_ = input.readBool();
4679 bitField1_ |= 0x00000010;
4683 exploitSingletonColumnInInitialBasis_ = input.readBool();
4684 bitField1_ |= 0x00000020;
4688 dualSmallPivotThreshold_ = input.readDouble();
4689 bitField1_ |= 0x00000040;
4693 preprocessorZeroTolerance_ = input.readDouble();
4694 bitField1_ |= 0x00000080;
4698 objectiveLowerLimit_ = input.readDouble();
4699 bitField1_ |= 0x00000100;
4703 objectiveUpperLimit_ = input.readDouble();
4704 bitField1_ |= 0x00000200;
4708 degenerateMinistepFactor_ = input.readDouble();
4709 bitField1_ |= 0x00000400;
4713 randomSeed_ = input.readInt32();
4714 bitField1_ |= 0x00000800;
4718 numOmpThreads_ = input.readInt32();
4719 bitField1_ |= 0x00001000;
4723 maxDeterministicTime_ = input.readDouble();
4724 bitField0_ |= 0x08000000;
4728 dropTolerance_ = input.readDouble();
4729 bitField0_ |= 0x00001000;
4733 perturbCostsInDualSimplex_ = input.readBool();
4734 bitField1_ |= 0x00002000;
4738 relativeCostPerturbation_ = input.readDouble();
4739 bitField1_ |= 0x00008000;
4743 relativeMaxCostPerturbation_ = input.readDouble();
4744 bitField1_ |= 0x00010000;
4748 maxNumberOfReoptimizations_ = input.readDouble();
4749 bitField0_ |= 0x01000000;
4753 int tmpRaw = input.readEnum();
4755 com.google.ortools.glop.GlopParameters.ScalingAlgorithm.forNumber(tmpRaw);
4756 if (tmpValue ==
null) {
4757 mergeUnknownVarintField(57, tmpRaw);
4759 scalingMethod_ = tmpRaw;
4760 bitField0_ |= 0x00000001;
4765 changeStatusToImprecise_ = input.readBool();
4766 bitField0_ |= 0x00800000;
4770 initialConditionNumberThreshold_ = input.readDouble();
4771 bitField1_ |= 0x00020000;
4775 int tmpRaw = input.readEnum();
4777 com.google.ortools.glop.GlopParameters.CostScalingAlgorithm.forNumber(tmpRaw);
4778 if (tmpValue ==
null) {
4779 mergeUnknownVarintField(60, tmpRaw);
4781 costScaling_ = tmpRaw;
4782 bitField0_ |= 0x00004000;
4787 logSearchProgress_ = input.readBool();
4788 bitField1_ |= 0x00040000;
4792 useDedicatedDualFeasibilityAlgorithm_ = input.readBool();
4793 bitField1_ |= 0x00004000;
4797 dynamicallyAdjustRefactorizationPeriod_ = input.readBool();
4798 bitField0_ |= 0x00040000;
4802 crossoverBoundSnappingDistance_ = input.readDouble();
4803 bitField1_ |= 0x00100000;
4807 pushToVertex_ = input.readBool();
4808 bitField1_ |= 0x00200000;
4812 logToStdout_ = input.readBool();
4813 bitField1_ |= 0x00080000;
4817 useImpliedFreePreprocessor_ = input.readBool();
4818 bitField1_ |= 0x00400000;
4822 dualPricePrioritizeNorm_ = input.readBool();
4823 bitField1_ |= 0x02000000;
4827 maxValidMagnitude_ = input.readDouble();
4828 bitField1_ |= 0x00800000;
4832 dropMagnitude_ = input.readDouble();
4833 bitField1_ |= 0x01000000;
4837 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4844 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
4845 throw e.unwrapIOException();
4851 private int bitField0_;
4852 private int bitField1_;
4854 private int scalingMethod_ = 1;
4860 return ((bitField0_ & 0x00000001) != 0);
4869 return result ==
null ? com.google.ortools.glop.GlopParameters.ScalingAlgorithm.EQUILIBRATION : result;
4877 if (value ==
null) {
4878 throw new NullPointerException();
4880 bitField0_ |= 0x00000001;
4881 scalingMethod_ = value.getNumber();
4890 bitField0_ = (bitField0_ & ~0x00000001);
4896 private int feasibilityRule_ = 1;
4906 return ((bitField0_ & 0x00000002) != 0);
4919 return result ==
null ? com.google.ortools.glop.GlopParameters.PricingRule.STEEPEST_EDGE : result;
4931 if (value ==
null) {
4932 throw new NullPointerException();
4934 bitField0_ |= 0x00000002;
4935 feasibilityRule_ = value.getNumber();
4948 bitField0_ = (bitField0_ & ~0x00000002);
4949 feasibilityRule_ = 1;
4954 private int optimizationRule_ = 1;
4964 return ((bitField0_ & 0x00000004) != 0);
4977 return result ==
null ? com.google.ortools.glop.GlopParameters.PricingRule.STEEPEST_EDGE : result;
4989 if (value ==
null) {
4990 throw new NullPointerException();
4992 bitField0_ |= 0x00000004;
4993 optimizationRule_ = value.getNumber();
5006 bitField0_ = (bitField0_ & ~0x00000004);
5007 optimizationRule_ = 1;
5012 private double refactorizationThreshold_ = 1e-09D;
5028 return ((bitField0_ & 0x00000008) != 0);
5045 return refactorizationThreshold_;
5063 refactorizationThreshold_ = value;
5064 bitField0_ |= 0x00000008;
5082 bitField0_ = (bitField0_ & ~0x00000008);
5083 refactorizationThreshold_ = 1e-09D;
5088 private double recomputeReducedCostsThreshold_ = 1e-08D;
5103 return ((bitField0_ & 0x00000010) != 0);
5119 return recomputeReducedCostsThreshold_;
5136 recomputeReducedCostsThreshold_ = value;
5137 bitField0_ |= 0x00000010;
5154 bitField0_ = (bitField0_ & ~0x00000010);
5155 recomputeReducedCostsThreshold_ = 1e-08D;
5160 private double recomputeEdgesNormThreshold_ = 100D;
5175 return ((bitField0_ & 0x00000020) != 0);
5191 return recomputeEdgesNormThreshold_;
5208 recomputeEdgesNormThreshold_ = value;
5209 bitField0_ |= 0x00000020;
5226 bitField0_ = (bitField0_ & ~0x00000020);
5227 recomputeEdgesNormThreshold_ = 100D;
5232 private double primalFeasibilityTolerance_ = 1e-08D;
5249 return ((bitField0_ & 0x00000040) != 0);
5267 return primalFeasibilityTolerance_;
5286 primalFeasibilityTolerance_ = value;
5287 bitField0_ |= 0x00000040;
5306 bitField0_ = (bitField0_ & ~0x00000040);
5307 primalFeasibilityTolerance_ = 1e-08D;
5312 private double dualFeasibilityTolerance_ = 1e-08D;
5332 return ((bitField0_ & 0x00000080) != 0);
5353 return dualFeasibilityTolerance_;
5375 dualFeasibilityTolerance_ = value;
5376 bitField0_ |= 0x00000080;
5398 bitField0_ = (bitField0_ & ~0x00000080);
5399 dualFeasibilityTolerance_ = 1e-08D;
5404 private double ratioTestZeroThreshold_ = 1e-09D;
5421 return ((bitField0_ & 0x00000100) != 0);
5439 return ratioTestZeroThreshold_;
5458 ratioTestZeroThreshold_ = value;
5459 bitField0_ |= 0x00000100;
5478 bitField0_ = (bitField0_ & ~0x00000100);
5479 ratioTestZeroThreshold_ = 1e-09D;
5484 private double harrisToleranceRatio_ = 0.5D;
5505 return ((bitField0_ & 0x00000200) != 0);
5527 return harrisToleranceRatio_;
5550 harrisToleranceRatio_ = value;
5551 bitField0_ |= 0x00000200;
5574 bitField0_ = (bitField0_ & ~0x00000200);
5575 harrisToleranceRatio_ = 0.5D;
5580 private double smallPivotThreshold_ = 1e-06D;
5594 return ((bitField0_ & 0x00000400) != 0);
5609 return smallPivotThreshold_;
5625 smallPivotThreshold_ = value;
5626 bitField0_ |= 0x00000400;
5642 bitField0_ = (bitField0_ & ~0x00000400);
5643 smallPivotThreshold_ = 1e-06D;
5648 private double minimumAcceptablePivot_ = 1e-06D;
5659 return ((bitField0_ & 0x00000800) != 0);
5671 return minimumAcceptablePivot_;
5684 minimumAcceptablePivot_ = value;
5685 bitField0_ |= 0x00000800;
5698 bitField0_ = (bitField0_ & ~0x00000800);
5699 minimumAcceptablePivot_ = 1e-06D;
5704 private double dropTolerance_ = 1e-14D;
5717 return ((bitField0_ & 0x00001000) != 0);
5731 return dropTolerance_;
5746 dropTolerance_ = value;
5747 bitField0_ |= 0x00001000;
5762 bitField0_ = (bitField0_ & ~0x00001000);
5763 dropTolerance_ = 1e-14D;
5768 private boolean useScaling_ =
true;
5780 return ((bitField0_ & 0x00002000) != 0);
5807 useScaling_ = value;
5808 bitField0_ |= 0x00002000;
5822 bitField0_ = (bitField0_ & ~0x00002000);
5828 private int costScaling_ = 1;
5834 return ((bitField0_ & 0x00004000) != 0);
5843 return result ==
null ? com.google.ortools.glop.GlopParameters.CostScalingAlgorithm.CONTAIN_ONE_COST_SCALING : result;
5851 if (value ==
null) {
5852 throw new NullPointerException();
5854 bitField0_ |= 0x00004000;
5855 costScaling_ = value.getNumber();
5864 bitField0_ = (bitField0_ & ~0x00004000);
5870 private int initialBasis_ = 2;
5881 return ((bitField0_ & 0x00008000) != 0);
5895 return result ==
null ? com.google.ortools.glop.GlopParameters.InitialBasisHeuristic.TRIANGULAR : result;
5908 if (value ==
null) {
5909 throw new NullPointerException();
5911 bitField0_ |= 0x00008000;
5912 initialBasis_ = value.getNumber();
5926 bitField0_ = (bitField0_ & ~0x00008000);
5932 private boolean useTransposedMatrix_ =
true;
5945 return ((bitField0_ & 0x00010000) != 0);
5959 return useTransposedMatrix_;
5974 useTransposedMatrix_ = value;
5975 bitField0_ |= 0x00010000;
5990 bitField0_ = (bitField0_ & ~0x00010000);
5991 useTransposedMatrix_ =
true;
5996 private int basisRefactorizationPeriod_ = 64;
6009 return ((bitField0_ & 0x00020000) != 0);
6023 return basisRefactorizationPeriod_;
6038 basisRefactorizationPeriod_ = value;
6039 bitField0_ |= 0x00020000;
6054 bitField0_ = (bitField0_ & ~0x00020000);
6055 basisRefactorizationPeriod_ = 64;
6060 private boolean dynamicallyAdjustRefactorizationPeriod_ =
true;
6075 return ((bitField0_ & 0x00040000) != 0);
6091 return dynamicallyAdjustRefactorizationPeriod_;
6108 dynamicallyAdjustRefactorizationPeriod_ = value;
6109 bitField0_ |= 0x00040000;
6126 bitField0_ = (bitField0_ & ~0x00040000);
6127 dynamicallyAdjustRefactorizationPeriod_ =
true;
6132 private int solveDualProblem_ = 2;
6144 return ((bitField0_ & 0x00080000) != 0);
6159 return result ==
null ? com.google.ortools.glop.GlopParameters.SolverBehavior.LET_SOLVER_DECIDE : result;
6173 if (value ==
null) {
6174 throw new NullPointerException();
6176 bitField0_ |= 0x00080000;
6177 solveDualProblem_ = value.getNumber();
6192 bitField0_ = (bitField0_ & ~0x00080000);
6193 solveDualProblem_ = 2;
6198 private double dualizerThreshold_ = 1.5D;
6211 return ((bitField0_ & 0x00100000) != 0);
6225 return dualizerThreshold_;
6240 dualizerThreshold_ = value;
6241 bitField0_ |= 0x00100000;
6256 bitField0_ = (bitField0_ & ~0x00100000);
6257 dualizerThreshold_ = 1.5D;
6262 private double solutionFeasibilityTolerance_ = 1e-06D;
6280 return ((bitField0_ & 0x00200000) != 0);
6299 return solutionFeasibilityTolerance_;
6319 solutionFeasibilityTolerance_ = value;
6320 bitField0_ |= 0x00200000;
6340 bitField0_ = (bitField0_ & ~0x00200000);
6341 solutionFeasibilityTolerance_ = 1e-06D;
6346 private boolean provideStrongOptimalGuarantee_ =
true;
6374 return ((bitField0_ & 0x00400000) != 0);
6403 return provideStrongOptimalGuarantee_;
6433 provideStrongOptimalGuarantee_ = value;
6434 bitField0_ |= 0x00400000;
6464 bitField0_ = (bitField0_ & ~0x00400000);
6465 provideStrongOptimalGuarantee_ =
true;
6470 private boolean changeStatusToImprecise_ =
true;
6482 return ((bitField0_ & 0x00800000) != 0);
6495 return changeStatusToImprecise_;
6509 changeStatusToImprecise_ = value;
6510 bitField0_ |= 0x00800000;
6524 bitField0_ = (bitField0_ & ~0x00800000);
6525 changeStatusToImprecise_ =
true;
6530 private double maxNumberOfReoptimizations_ = 40D;
6544 return ((bitField0_ & 0x01000000) != 0);
6559 return maxNumberOfReoptimizations_;
6575 maxNumberOfReoptimizations_ = value;
6576 bitField0_ |= 0x01000000;
6592 bitField0_ = (bitField0_ & ~0x01000000);
6593 maxNumberOfReoptimizations_ = 40D;
6598 private double luFactorizationPivotThreshold_ = 0.01D;
6612 return ((bitField0_ & 0x02000000) != 0);
6627 return luFactorizationPivotThreshold_;
6643 luFactorizationPivotThreshold_ = value;
6644 bitField0_ |= 0x02000000;
6660 bitField0_ = (bitField0_ & ~0x02000000);
6661 luFactorizationPivotThreshold_ = 0.01D;
6666 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
6677 return ((bitField0_ & 0x04000000) != 0);
6689 return maxTimeInSeconds_;
6702 maxTimeInSeconds_ = value;
6703 bitField0_ |= 0x04000000;
6716 bitField0_ = (bitField0_ & ~0x04000000);
6717 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
6722 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
6737 return ((bitField0_ & 0x08000000) != 0);
6753 return maxDeterministicTime_;
6770 maxDeterministicTime_ = value;
6771 bitField0_ |= 0x08000000;
6788 bitField0_ = (bitField0_ & ~0x08000000);
6789 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
6794 private long maxNumberOfIterations_ = -1L;
6806 return ((bitField0_ & 0x10000000) != 0);
6819 return maxNumberOfIterations_;
6833 maxNumberOfIterations_ = value;
6834 bitField0_ |= 0x10000000;
6848 bitField0_ = (bitField0_ & ~0x10000000);
6849 maxNumberOfIterations_ = -1L;
6854 private int markowitzZlatevParameter_ = 3;
6866 return ((bitField0_ & 0x20000000) != 0);
6879 return markowitzZlatevParameter_;
6893 markowitzZlatevParameter_ = value;
6894 bitField0_ |= 0x20000000;
6908 bitField0_ = (bitField0_ & ~0x20000000);
6909 markowitzZlatevParameter_ = 3;
6914 private double markowitzSingularityThreshold_ = 1e-15D;
6928 return ((bitField0_ & 0x40000000) != 0);
6943 return markowitzSingularityThreshold_;
6959 markowitzSingularityThreshold_ = value;
6960 bitField0_ |= 0x40000000;
6976 bitField0_ = (bitField0_ & ~0x40000000);
6977 markowitzSingularityThreshold_ = 1e-15D;
6982 private boolean useDualSimplex_ ;
6993 return ((bitField0_ & 0x80000000) != 0);
7005 return useDualSimplex_;
7018 useDualSimplex_ = value;
7019 bitField0_ |= 0x80000000;
7032 bitField0_ = (bitField0_ & ~0x80000000);
7033 useDualSimplex_ =
false;
7038 private boolean allowSimplexAlgorithmChange_ ;
7052 return ((bitField1_ & 0x00000001) != 0);
7067 return allowSimplexAlgorithmChange_;
7083 allowSimplexAlgorithmChange_ = value;
7084 bitField1_ |= 0x00000001;
7100 bitField1_ = (bitField1_ & ~0x00000001);
7101 allowSimplexAlgorithmChange_ =
false;
7106 private int devexWeightsResetPeriod_ = 150;
7117 return ((bitField1_ & 0x00000002) != 0);
7129 return devexWeightsResetPeriod_;
7142 devexWeightsResetPeriod_ = value;
7143 bitField1_ |= 0x00000002;
7156 bitField1_ = (bitField1_ & ~0x00000002);
7157 devexWeightsResetPeriod_ = 150;
7162 private boolean usePreprocessing_ =
true;
7173 return ((bitField1_ & 0x00000004) != 0);
7185 return usePreprocessing_;
7198 usePreprocessing_ = value;
7199 bitField1_ |= 0x00000004;
7212 bitField1_ = (bitField1_ & ~0x00000004);
7213 usePreprocessing_ =
true;
7218 private boolean useMiddleProductFormUpdate_ =
true;
7235 return ((bitField1_ & 0x00000008) != 0);
7253 return useMiddleProductFormUpdate_;
7272 useMiddleProductFormUpdate_ = value;
7273 bitField1_ |= 0x00000008;
7292 bitField1_ = (bitField1_ & ~0x00000008);
7293 useMiddleProductFormUpdate_ =
true;
7298 private boolean initializeDevexWithColumnNorms_ =
true;
7310 return ((bitField1_ & 0x00000010) != 0);
7323 return initializeDevexWithColumnNorms_;
7337 initializeDevexWithColumnNorms_ = value;
7338 bitField1_ |= 0x00000010;
7352 bitField1_ = (bitField1_ & ~0x00000010);
7353 initializeDevexWithColumnNorms_ =
true;
7358 private boolean exploitSingletonColumnInInitialBasis_ =
true;
7370 return ((bitField1_ & 0x00000020) != 0);
7383 return exploitSingletonColumnInInitialBasis_;
7397 exploitSingletonColumnInInitialBasis_ = value;
7398 bitField1_ |= 0x00000020;
7412 bitField1_ = (bitField1_ & ~0x00000020);
7413 exploitSingletonColumnInInitialBasis_ =
true;
7418 private double dualSmallPivotThreshold_ = 0.0001D;
7431 return ((bitField1_ & 0x00000040) != 0);
7445 return dualSmallPivotThreshold_;
7460 dualSmallPivotThreshold_ = value;
7461 bitField1_ |= 0x00000040;
7476 bitField1_ = (bitField1_ & ~0x00000040);
7477 dualSmallPivotThreshold_ = 0.0001D;
7482 private double preprocessorZeroTolerance_ = 1e-09D;
7498 return ((bitField1_ & 0x00000080) != 0);
7515 return preprocessorZeroTolerance_;
7533 preprocessorZeroTolerance_ = value;
7534 bitField1_ |= 0x00000080;
7552 bitField1_ = (bitField1_ & ~0x00000080);
7553 preprocessorZeroTolerance_ = 1e-09D;
7558 private double objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
7577 return ((bitField1_ & 0x00000100) != 0);
7597 return objectiveLowerLimit_;
7618 objectiveLowerLimit_ = value;
7619 bitField1_ |= 0x00000100;
7640 bitField1_ = (bitField1_ & ~0x00000100);
7641 objectiveLowerLimit_ = Double.NEGATIVE_INFINITY;
7646 private double objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
7653 return ((bitField1_ & 0x00000200) != 0);
7661 return objectiveUpperLimit_;
7670 objectiveUpperLimit_ = value;
7671 bitField1_ |= 0x00000200;
7680 bitField1_ = (bitField1_ & ~0x00000200);
7681 objectiveUpperLimit_ = Double.POSITIVE_INFINITY;
7686 private double degenerateMinistepFactor_ = 0.01D;
7714 return ((bitField1_ & 0x00000400) != 0);
7743 return degenerateMinistepFactor_;
7773 degenerateMinistepFactor_ = value;
7774 bitField1_ |= 0x00000400;
7804 bitField1_ = (bitField1_ & ~0x00000400);
7805 degenerateMinistepFactor_ = 0.01D;
7810 private int randomSeed_ = 1;
7835 return ((bitField1_ & 0x00000800) != 0);
7888 randomSeed_ = value;
7889 bitField1_ |= 0x00000800;
7916 bitField1_ = (bitField1_ & ~0x00000800);
7922 private int numOmpThreads_ = 1;
7934 return ((bitField1_ & 0x00001000) != 0);
7947 return numOmpThreads_;
7961 numOmpThreads_ = value;
7962 bitField1_ |= 0x00001000;
7976 bitField1_ = (bitField1_ & ~0x00001000);
7982 private boolean perturbCostsInDualSimplex_ ;
7996 return ((bitField1_ & 0x00002000) != 0);
8011 return perturbCostsInDualSimplex_;
8027 perturbCostsInDualSimplex_ = value;
8028 bitField1_ |= 0x00002000;
8044 bitField1_ = (bitField1_ & ~0x00002000);
8045 perturbCostsInDualSimplex_ =
false;
8050 private boolean useDedicatedDualFeasibilityAlgorithm_ =
true;
8068 return ((bitField1_ & 0x00004000) != 0);
8087 return useDedicatedDualFeasibilityAlgorithm_;
8107 useDedicatedDualFeasibilityAlgorithm_ = value;
8108 bitField1_ |= 0x00004000;
8128 bitField1_ = (bitField1_ & ~0x00004000);
8129 useDedicatedDualFeasibilityAlgorithm_ =
true;
8134 private double relativeCostPerturbation_ = 1e-05D;
8148 return ((bitField1_ & 0x00008000) != 0);
8163 return relativeCostPerturbation_;
8179 relativeCostPerturbation_ = value;
8180 bitField1_ |= 0x00008000;
8196 bitField1_ = (bitField1_ & ~0x00008000);
8197 relativeCostPerturbation_ = 1e-05D;
8202 private double relativeMaxCostPerturbation_ = 1e-07D;
8209 return ((bitField1_ & 0x00010000) != 0);
8217 return relativeMaxCostPerturbation_;
8226 relativeMaxCostPerturbation_ = value;
8227 bitField1_ |= 0x00010000;
8236 bitField1_ = (bitField1_ & ~0x00010000);
8237 relativeMaxCostPerturbation_ = 1e-07D;
8242 private double initialConditionNumberThreshold_ = 1e+50D;
8255 return ((bitField1_ & 0x00020000) != 0);
8269 return initialConditionNumberThreshold_;
8284 initialConditionNumberThreshold_ = value;
8285 bitField1_ |= 0x00020000;
8300 bitField1_ = (bitField1_ & ~0x00020000);
8301 initialConditionNumberThreshold_ = 1e+50D;
8306 private boolean logSearchProgress_ ;
8319 return ((bitField1_ & 0x00040000) != 0);
8333 return logSearchProgress_;
8348 logSearchProgress_ = value;
8349 bitField1_ |= 0x00040000;
8364 bitField1_ = (bitField1_ & ~0x00040000);
8365 logSearchProgress_ =
false;
8370 private boolean logToStdout_ =
true;
8381 return ((bitField1_ & 0x00080000) != 0);
8393 return logToStdout_;
8406 logToStdout_ = value;
8407 bitField1_ |= 0x00080000;
8420 bitField1_ = (bitField1_ & ~0x00080000);
8421 logToStdout_ =
true;
8426 private double crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
8451 return ((bitField1_ & 0x00100000) != 0);
8477 return crossoverBoundSnappingDistance_;
8504 crossoverBoundSnappingDistance_ = value;
8505 bitField1_ |= 0x00100000;
8532 bitField1_ = (bitField1_ & ~0x00100000);
8533 crossoverBoundSnappingDistance_ = Double.POSITIVE_INFINITY;
8538 private boolean pushToVertex_ =
true;
8554 return ((bitField1_ & 0x00200000) != 0);
8571 return pushToVertex_;
8589 pushToVertex_ = value;
8590 bitField1_ |= 0x00200000;
8608 bitField1_ = (bitField1_ & ~0x00200000);
8609 pushToVertex_ =
true;
8614 private boolean useImpliedFreePreprocessor_ =
true;
8625 return ((bitField1_ & 0x00400000) != 0);
8637 return useImpliedFreePreprocessor_;
8650 useImpliedFreePreprocessor_ = value;
8651 bitField1_ |= 0x00400000;
8664 bitField1_ = (bitField1_ & ~0x00400000);
8665 useImpliedFreePreprocessor_ =
true;
8670 private double maxValidMagnitude_ = 1e+30D;
8686 return ((bitField1_ & 0x00800000) != 0);
8703 return maxValidMagnitude_;
8721 maxValidMagnitude_ = value;
8722 bitField1_ |= 0x00800000;
8740 bitField1_ = (bitField1_ & ~0x00800000);
8741 maxValidMagnitude_ = 1e+30D;
8746 private double dropMagnitude_ = 1e-30D;
8760 return ((bitField1_ & 0x01000000) != 0);
8775 return dropMagnitude_;
8791 dropMagnitude_ = value;
8792 bitField1_ |= 0x01000000;
8808 bitField1_ = (bitField1_ & ~0x01000000);
8809 dropMagnitude_ = 1e-30D;
8814 private boolean dualPricePrioritizeNorm_ ;
8826 return ((bitField1_ & 0x02000000) != 0);
8839 return dualPricePrioritizeNorm_;
8853 dualPricePrioritizeNorm_ = value;
8854 bitField1_ |= 0x02000000;
8868 bitField1_ = (bitField1_ & ~0x02000000);
8869 dualPricePrioritizeNorm_ =
false;
8875 final com.google.protobuf.UnknownFieldSet unknownFields) {
8881 final com.google.protobuf.UnknownFieldSet unknownFields) {
8892 DEFAULT_INSTANCE =
new com.google.ortools.glop.GlopParameters();
8896 return DEFAULT_INSTANCE;
8899 @java.lang.Deprecated
public static final com.google.protobuf.Parser<
GlopParameters>
8903 com.google.protobuf.CodedInputStream input,
8904 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8905 throws com.google.protobuf.InvalidProtocolBufferException {
8908 builder.
mergeFrom(input, extensionRegistry);
8909 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
8911 }
catch (com.google.protobuf.UninitializedMessageException e) {
8912 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.
buildPartial());
8913 }
catch (java.io.IOException e) {
8914 throw new com.google.protobuf.InvalidProtocolBufferException(e)
8932 return DEFAULT_INSTANCE;