com.google.ortools.linearsolver.MPSolverCommonParametersOrBuilder Maven / Gradle / Ivy
The newest version!
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: ortools/linear_solver/linear_solver.proto
package com.google.ortools.linearsolver;
public interface MPSolverCommonParametersOrBuilder extends
// @@protoc_insertion_point(interface_extends:operations_research.MPSolverCommonParameters)
com.google.protobuf.MessageOrBuilder {
/**
*
* 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;
* @return Whether the relativeMipGap field is set.
*/
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;
* @return The relativeMipGap.
*/
com.google.ortools.linearsolver.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;
*/
com.google.ortools.linearsolver.OptionalDoubleOrBuilder getRelativeMipGapOrBuilder();
/**
*
* 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;
* @return Whether the primalTolerance field is set.
*/
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;
* @return The primalTolerance.
*/
com.google.ortools.linearsolver.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;
*/
com.google.ortools.linearsolver.OptionalDoubleOrBuilder getPrimalToleranceOrBuilder();
/**
*
* 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;
* @return Whether the dualTolerance field is set.
*/
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;
* @return The dualTolerance.
*/
com.google.ortools.linearsolver.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;
*/
com.google.ortools.linearsolver.OptionalDoubleOrBuilder getDualToleranceOrBuilder();
/**
*
* 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];
* @return Whether the lpAlgorithm field is set.
*/
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];
* @return The lpAlgorithm.
*/
com.google.ortools.linearsolver.MPSolverCommonParameters.LPAlgorithmValues getLpAlgorithm();
/**
*
* Gurobi and SCIP enable presolve by default.
* Ask or-core-team@ for other solvers.
*
*
* optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
* @return Whether the presolve field is set.
*/
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];
* @return The presolve.
*/
com.google.ortools.util.OptionalBoolean getPresolve();
/**
*
* 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];
* @return Whether the scaling field is set.
*/
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];
* @return The scaling.
*/
com.google.ortools.util.OptionalBoolean getScaling();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy