Class MPSolverCommonParameters

  • All Implemented Interfaces:
    MPSolverCommonParametersOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, java.io.Serializable

    public final class MPSolverCommonParameters
    extends com.google.protobuf.GeneratedMessageV3
    implements MPSolverCommonParametersOrBuilder
     MPSolverCommonParameters holds advanced usage parameters that apply to any of
     the solvers we support.
     All of the fields in this proto can have a value of unspecified. In this
     case each inner solver will use their own safe defaults.
     Some values won't be supported by some solvers. The behavior in that case is
     not defined yet.
     
    Protobuf type operations_research.MPSolverCommonParameters
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasRelativeMipGap

        public boolean hasRelativeMipGap()
         The solver stops if the relative MIP gap reaches this value or below.
         The relative MIP gap is an upper bound of the relative distance to the
         optimum, and it is defined as:
        
           abs(best_bound - incumbent) / abs(incumbent) [Gurobi]
           abs(best_bound - incumbent) / min(abs(best_bound), abs(incumbent)) [SCIP]
        
         where "incumbent" is the objective value of the best solution found so far
         (i.e., lowest when minimizing, highest when maximizing), and "best_bound"
         is the tightest bound of the objective determined so far (i.e., highest
         when minimizing, and lowest when maximizing). The MIP Gap is sensitive to
         objective offset. If the denominator is 0 the MIP Gap is INFINITY for SCIP
         and Gurobi. Of note, "incumbent" and "best bound" are called "primal bound"
         and "dual bound" in SCIP, respectively.
         Ask or-core-team@ for other solvers.
         
        optional .operations_research.OptionalDouble relative_mip_gap = 1;
        Specified by:
        hasRelativeMipGap in interface MPSolverCommonParametersOrBuilder
        Returns:
        Whether the relativeMipGap field is set.
      • getRelativeMipGap

        public OptionalDouble getRelativeMipGap()
         The solver stops if the relative MIP gap reaches this value or below.
         The relative MIP gap is an upper bound of the relative distance to the
         optimum, and it is defined as:
        
           abs(best_bound - incumbent) / abs(incumbent) [Gurobi]
           abs(best_bound - incumbent) / min(abs(best_bound), abs(incumbent)) [SCIP]
        
         where "incumbent" is the objective value of the best solution found so far
         (i.e., lowest when minimizing, highest when maximizing), and "best_bound"
         is the tightest bound of the objective determined so far (i.e., highest
         when minimizing, and lowest when maximizing). The MIP Gap is sensitive to
         objective offset. If the denominator is 0 the MIP Gap is INFINITY for SCIP
         and Gurobi. Of note, "incumbent" and "best bound" are called "primal bound"
         and "dual bound" in SCIP, respectively.
         Ask or-core-team@ for other solvers.
         
        optional .operations_research.OptionalDouble relative_mip_gap = 1;
        Specified by:
        getRelativeMipGap in interface MPSolverCommonParametersOrBuilder
        Returns:
        The relativeMipGap.
      • getRelativeMipGapOrBuilder

        public OptionalDoubleOrBuilder getRelativeMipGapOrBuilder()
         The solver stops if the relative MIP gap reaches this value or below.
         The relative MIP gap is an upper bound of the relative distance to the
         optimum, and it is defined as:
        
           abs(best_bound - incumbent) / abs(incumbent) [Gurobi]
           abs(best_bound - incumbent) / min(abs(best_bound), abs(incumbent)) [SCIP]
        
         where "incumbent" is the objective value of the best solution found so far
         (i.e., lowest when minimizing, highest when maximizing), and "best_bound"
         is the tightest bound of the objective determined so far (i.e., highest
         when minimizing, and lowest when maximizing). The MIP Gap is sensitive to
         objective offset. If the denominator is 0 the MIP Gap is INFINITY for SCIP
         and Gurobi. Of note, "incumbent" and "best bound" are called "primal bound"
         and "dual bound" in SCIP, respectively.
         Ask or-core-team@ for other solvers.
         
        optional .operations_research.OptionalDouble relative_mip_gap = 1;
        Specified by:
        getRelativeMipGapOrBuilder in interface MPSolverCommonParametersOrBuilder
      • hasPrimalTolerance

        public boolean hasPrimalTolerance()
         Tolerance for primal feasibility of basic solutions: this is the maximum
         allowed error in constraint satisfiability.
         For SCIP this includes integrality constraints. For Gurobi it does not, you
         need to set the custom parameter IntFeasTol.
         
        optional .operations_research.OptionalDouble primal_tolerance = 2;
        Specified by:
        hasPrimalTolerance in interface MPSolverCommonParametersOrBuilder
        Returns:
        Whether the primalTolerance field is set.
      • getPrimalTolerance

        public OptionalDouble getPrimalTolerance()
         Tolerance for primal feasibility of basic solutions: this is the maximum
         allowed error in constraint satisfiability.
         For SCIP this includes integrality constraints. For Gurobi it does not, you
         need to set the custom parameter IntFeasTol.
         
        optional .operations_research.OptionalDouble primal_tolerance = 2;
        Specified by:
        getPrimalTolerance in interface MPSolverCommonParametersOrBuilder
        Returns:
        The primalTolerance.
      • getPrimalToleranceOrBuilder

        public OptionalDoubleOrBuilder getPrimalToleranceOrBuilder()
         Tolerance for primal feasibility of basic solutions: this is the maximum
         allowed error in constraint satisfiability.
         For SCIP this includes integrality constraints. For Gurobi it does not, you
         need to set the custom parameter IntFeasTol.
         
        optional .operations_research.OptionalDouble primal_tolerance = 2;
        Specified by:
        getPrimalToleranceOrBuilder in interface MPSolverCommonParametersOrBuilder
      • hasDualTolerance

        public boolean hasDualTolerance()
         Tolerance for dual feasibility.
         For SCIP and Gurobi this is the feasibility tolerance for reduced costs in
         LP solution: reduced costs must all be smaller than this value in the
         improving direction in order for a model to be declared optimal.
         Not supported for other solvers.
         
        optional .operations_research.OptionalDouble dual_tolerance = 3;
        Specified by:
        hasDualTolerance in interface MPSolverCommonParametersOrBuilder
        Returns:
        Whether the dualTolerance field is set.
      • getDualTolerance

        public OptionalDouble getDualTolerance()
         Tolerance for dual feasibility.
         For SCIP and Gurobi this is the feasibility tolerance for reduced costs in
         LP solution: reduced costs must all be smaller than this value in the
         improving direction in order for a model to be declared optimal.
         Not supported for other solvers.
         
        optional .operations_research.OptionalDouble dual_tolerance = 3;
        Specified by:
        getDualTolerance in interface MPSolverCommonParametersOrBuilder
        Returns:
        The dualTolerance.
      • getDualToleranceOrBuilder

        public OptionalDoubleOrBuilder getDualToleranceOrBuilder()
         Tolerance for dual feasibility.
         For SCIP and Gurobi this is the feasibility tolerance for reduced costs in
         LP solution: reduced costs must all be smaller than this value in the
         improving direction in order for a model to be declared optimal.
         Not supported for other solvers.
         
        optional .operations_research.OptionalDouble dual_tolerance = 3;
        Specified by:
        getDualToleranceOrBuilder in interface MPSolverCommonParametersOrBuilder
      • hasLpAlgorithm

        public boolean hasLpAlgorithm()
         Algorithm to solve linear programs.
         Ask or-core-team@ if you want to know what this does exactly.
         
        optional .operations_research.MPSolverCommonParameters.LPAlgorithmValues lp_algorithm = 4 [default = LP_ALGO_UNSPECIFIED];
        Specified by:
        hasLpAlgorithm in interface MPSolverCommonParametersOrBuilder
        Returns:
        Whether the lpAlgorithm field is set.
      • hasPresolve

        public boolean hasPresolve()
         Gurobi and SCIP enable presolve by default.
         Ask or-core-team@ for other solvers.
         
        optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
        Specified by:
        hasPresolve in interface MPSolverCommonParametersOrBuilder
        Returns:
        Whether the presolve field is set.
      • getPresolve

        public OptionalBoolean getPresolve()
         Gurobi and SCIP enable presolve by default.
         Ask or-core-team@ for other solvers.
         
        optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
        Specified by:
        getPresolve in interface MPSolverCommonParametersOrBuilder
        Returns:
        The presolve.
      • hasScaling

        public boolean hasScaling()
         Enable automatic scaling of matrix coefficients and objective. Available
         for Gurobi and GLOP.
         Ask or-core-team@ if you want more details.
         
        optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
        Specified by:
        hasScaling in interface MPSolverCommonParametersOrBuilder
        Returns:
        Whether the scaling field is set.
      • getScaling

        public OptionalBoolean getScaling()
         Enable automatic scaling of matrix coefficients and objective. Available
         for Gurobi and GLOP.
         Ask or-core-team@ if you want more details.
         
        optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
        Specified by:
        getScaling in interface MPSolverCommonParametersOrBuilder
        Returns:
        The scaling.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(java.nio.ByteBuffer data)
                                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(java.nio.ByteBuffer data,
                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(com.google.protobuf.ByteString data)
                                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(com.google.protobuf.ByteString data,
                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(byte[] data)
                                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(byte[] data,
                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(java.io.InputStream input)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(java.io.InputStream input,
                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static MPSolverCommonParameters parseDelimitedFrom​(java.io.InputStream input)
                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static MPSolverCommonParameters parseDelimitedFrom​(java.io.InputStream input,
                                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(com.google.protobuf.CodedInputStream input)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static MPSolverCommonParameters parseFrom​(com.google.protobuf.CodedInputStream input,
                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public MPSolverCommonParameters.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public MPSolverCommonParameters.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected MPSolverCommonParameters.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<MPSolverCommonParameters> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public MPSolverCommonParameters getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder