Class MPSolverCommonParameters.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<MPSolverCommonParameters.Builder>
com.google.protobuf.GeneratedMessage.Builder<MPSolverCommonParameters.Builder>
com.google.ortools.linearsolver.MPSolverCommonParameters.Builder
All Implemented Interfaces:
MPSolverCommonParametersOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
MPSolverCommonParameters

public static final class MPSolverCommonParameters.Builder extends com.google.protobuf.GeneratedMessage.Builder<MPSolverCommonParameters.Builder> 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
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<MPSolverCommonParameters.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<MPSolverCommonParameters.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<MPSolverCommonParameters.Builder>
    • getDefaultInstanceForType

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

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

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

      public MPSolverCommonParameters.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<MPSolverCommonParameters.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<MPSolverCommonParameters.Builder>
    • mergeFrom

      public MPSolverCommonParameters.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<MPSolverCommonParameters.Builder>
      Throws:
      IOException
    • 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.
    • setRelativeMipGap

      public MPSolverCommonParameters.Builder setRelativeMipGap(OptionalDouble value)
       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;
    • setRelativeMipGap

      public MPSolverCommonParameters.Builder setRelativeMipGap(OptionalDouble.Builder builderForValue)
       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;
    • mergeRelativeMipGap

      public MPSolverCommonParameters.Builder mergeRelativeMipGap(OptionalDouble value)
       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;
    • clearRelativeMipGap

      public MPSolverCommonParameters.Builder clearRelativeMipGap()
       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;
    • getRelativeMipGapBuilder

      public OptionalDouble.Builder getRelativeMipGapBuilder()
       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;
    • 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.
    • setPrimalTolerance

      public MPSolverCommonParameters.Builder setPrimalTolerance(OptionalDouble value)
       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;
    • setPrimalTolerance

      public MPSolverCommonParameters.Builder setPrimalTolerance(OptionalDouble.Builder builderForValue)
       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;
    • mergePrimalTolerance

      public MPSolverCommonParameters.Builder mergePrimalTolerance(OptionalDouble value)
       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;
    • clearPrimalTolerance

      public MPSolverCommonParameters.Builder clearPrimalTolerance()
       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;
    • getPrimalToleranceBuilder

      public OptionalDouble.Builder getPrimalToleranceBuilder()
       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;
    • 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.
    • setDualTolerance

      public MPSolverCommonParameters.Builder setDualTolerance(OptionalDouble value)
       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;
    • setDualTolerance

      public MPSolverCommonParameters.Builder setDualTolerance(OptionalDouble.Builder builderForValue)
       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;
    • mergeDualTolerance

      public MPSolverCommonParameters.Builder mergeDualTolerance(OptionalDouble value)
       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;
    • clearDualTolerance

      public MPSolverCommonParameters.Builder clearDualTolerance()
       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;
    • getDualToleranceBuilder

      public OptionalDouble.Builder getDualToleranceBuilder()
       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;
    • 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.
    • getLpAlgorithm

       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:
      getLpAlgorithm in interface MPSolverCommonParametersOrBuilder
      Returns:
      The lpAlgorithm.
    • setLpAlgorithm

       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];
      Parameters:
      value - The lpAlgorithm to set.
      Returns:
      This builder for chaining.
    • clearLpAlgorithm

      public MPSolverCommonParameters.Builder clearLpAlgorithm()
       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];
      Returns:
      This builder for chaining.
    • 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.
    • setPresolve

       Gurobi and SCIP enable presolve by default.
       Ask or-core-team@ for other solvers.
       
      optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
      Parameters:
      value - The presolve to set.
      Returns:
      This builder for chaining.
    • clearPresolve

      public MPSolverCommonParameters.Builder clearPresolve()
       Gurobi and SCIP enable presolve by default.
       Ask or-core-team@ for other solvers.
       
      optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
      Returns:
      This builder for chaining.
    • 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.
    • setScaling

       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];
      Parameters:
      value - The scaling to set.
      Returns:
      This builder for chaining.
    • clearScaling

      public MPSolverCommonParameters.Builder clearScaling()
       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];
      Returns:
      This builder for chaining.