Enum MPSolverResponseStatus
- All Implemented Interfaces:
com.google.protobuf.Internal.EnumLite
,com.google.protobuf.ProtocolMessageEnum
,Serializable
,Comparable<MPSolverResponseStatus>
,java.lang.constant.Constable
@Generated
public enum MPSolverResponseStatus
extends Enum<MPSolverResponseStatus>
implements com.google.protobuf.ProtocolMessageEnum
Status returned by the solver. They follow a hierarchical nomenclature, to allow us to add more enum values in the future. Clients should use InCategory() to match these enums, with the following C++ pseudo-code: bool InCategory(MPSolverResponseStatus status, MPSolverResponseStatus cat) { if (cat == MPSOLVER_OPTIMAL) return status == MPSOLVER_OPTIMAL; while (status > cat) status >>= 4; return status == cat; }Protobuf enum
operations_research.MPSolverResponseStatus
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionAn error (most probably numerical) occurred.The solve was interrupted by the user, and the solver didn't have time to return a proper status.The solver had enough time to find some solution that satisfies all constraints, but it did not prove optimality (which means it may or may not have reached the optimal).Some of the selected options were incompatible, e.g. a cancellable solve was requested via SolverClient::SolveMipRemotely() with an underlying solver that doesn't support cancellation. status_str should contain a description of the issue.The model does not have any solution, according to the solver (which "proved" it, with the caveat that numerical proofs aren't actual proofs), or based on trivial considerations (eg. a variable whose lower bound is strictly greater than its upper bound).Model errors.Something is wrong with the fields "solution_hint_var_index" and/or "solution_hint_var_value".Something is wrong with the solver_specific_parameters request field.Like "NOT_SOLVED", but typically used by model validation functions returning a "model status", to enhance readability of the client code.The solver did not have a chance to diagnose the model in one of the categories above.The solver found the proven optimal solution.Implementation error: the requested solver implementation is not available (see MPModelRequest.solver_type).There exist solutions that make the magnitude of the objective value as large as wanted (i.e.Special value: the solver status could not be properly translated and is unknown. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
An error (most probably numerical) occurred.static final int
The solve was interrupted by the user, and the solver didn't have time to return a proper status.static final int
The solver had enough time to find some solution that satisfies all constraints, but it did not prove optimality (which means it may or may not have reached the optimal).static final int
Some of the selected options were incompatible, e.g. a cancellable solve was requested via SolverClient::SolveMipRemotely() with an underlying solver that doesn't support cancellation. status_str should contain a description of the issue.static final int
The model does not have any solution, according to the solver (which "proved" it, with the caveat that numerical proofs aren't actual proofs), or based on trivial considerations (eg. a variable whose lower bound is strictly greater than its upper bound).static final int
Something is wrong with the fields "solution_hint_var_index" and/or "solution_hint_var_value".static final int
Something is wrong with the solver_specific_parameters request field.static final int
Model errors.static final int
Like "NOT_SOLVED", but typically used by model validation functions returning a "model status", to enhance readability of the client code.static final int
The solver did not have a chance to diagnose the model in one of the categories above.static final int
The solver found the proven optimal solution.static final int
Implementation error: the requested solver implementation is not available (see MPModelRequest.solver_type).static final int
There exist solutions that make the magnitude of the objective value as large as wanted (i.e.static final int
Special value: the solver status could not be properly translated and is unknown. -
Method Summary
Modifier and TypeMethodDescriptionstatic MPSolverResponseStatus
forNumber
(int value) static com.google.protobuf.Descriptors.EnumDescriptor
final com.google.protobuf.Descriptors.EnumDescriptor
final int
final com.google.protobuf.Descriptors.EnumValueDescriptor
static com.google.protobuf.Internal.EnumLiteMap
<MPSolverResponseStatus> static MPSolverResponseStatus
valueOf
(int value) Deprecated.static MPSolverResponseStatus
valueOf
(com.google.protobuf.Descriptors.EnumValueDescriptor desc) Returns the enum constant of this type with the specified name.static MPSolverResponseStatus
Returns the enum constant of this type with the specified name.static MPSolverResponseStatus[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
MPSOLVER_OPTIMAL
The solver found the proven optimal solution. This is what should be returned in most cases. WARNING: for historical reason, the value is zero, which means that this value can't have any subcategories.
MPSOLVER_OPTIMAL = 0;
-
MPSOLVER_FEASIBLE
The solver had enough time to find some solution that satisfies all constraints, but it did not prove optimality (which means it may or may not have reached the optimal). This can happen for large LP models (Linear Programming), and is a frequent response for time-limited MIPs (Mixed Integer Programming). In the MIP case, the difference between the solution 'objective_value' and 'best_objective_bound' fields of the MPSolutionResponse will give an indication of how far this solution is from the optimal one.
MPSOLVER_FEASIBLE = 1;
-
MPSOLVER_INFEASIBLE
The model does not have any solution, according to the solver (which "proved" it, with the caveat that numerical proofs aren't actual proofs), or based on trivial considerations (eg. a variable whose lower bound is strictly greater than its upper bound).
MPSOLVER_INFEASIBLE = 2;
-
MPSOLVER_UNBOUNDED
There exist solutions that make the magnitude of the objective value as large as wanted (i.e. -infinity (resp. +infinity) for a minimization (resp. maximization) problem.
MPSOLVER_UNBOUNDED = 3;
-
MPSOLVER_ABNORMAL
An error (most probably numerical) occurred. One likely cause for such errors is a large numerical range among variable coefficients (eg. 1e-16, 1e20), in which case one should try to shrink it.
MPSOLVER_ABNORMAL = 4;
-
MPSOLVER_NOT_SOLVED
The solver did not have a chance to diagnose the model in one of the categories above.
MPSOLVER_NOT_SOLVED = 6;
-
MPSOLVER_MODEL_IS_VALID
Like "NOT_SOLVED", but typically used by model validation functions returning a "model status", to enhance readability of the client code.
MPSOLVER_MODEL_IS_VALID = 97;
-
MPSOLVER_CANCELLED_BY_USER
The solve was interrupted by the user, and the solver didn't have time to return a proper status.
MPSOLVER_CANCELLED_BY_USER = 98;
-
MPSOLVER_UNKNOWN_STATUS
Special value: the solver status could not be properly translated and is unknown.
MPSOLVER_UNKNOWN_STATUS = 99;
-
MPSOLVER_MODEL_INVALID
Model errors. These are always deterministic and repeatable. They should be accompanied with a string description of the error.
MPSOLVER_MODEL_INVALID = 5;
-
MPSOLVER_MODEL_INVALID_SOLUTION_HINT
Something is wrong with the fields "solution_hint_var_index" and/or "solution_hint_var_value".
MPSOLVER_MODEL_INVALID_SOLUTION_HINT = 84;
-
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS
Something is wrong with the solver_specific_parameters request field.
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS = 85;
-
MPSOLVER_SOLVER_TYPE_UNAVAILABLE
Implementation error: the requested solver implementation is not available (see MPModelRequest.solver_type). The linear solver binary was probably not linked with the required library, eg //ortools/linear_solver:linear_solver_scip for SCIP.
MPSOLVER_SOLVER_TYPE_UNAVAILABLE = 7;
-
MPSOLVER_INCOMPATIBLE_OPTIONS
Some of the selected options were incompatible, e.g. a cancellable solve was requested via SolverClient::SolveMipRemotely() with an underlying solver that doesn't support cancellation. status_str should contain a description of the issue.
MPSOLVER_INCOMPATIBLE_OPTIONS = 113;
-
-
Field Details
-
MPSOLVER_OPTIMAL_VALUE
public static final int MPSOLVER_OPTIMAL_VALUEThe solver found the proven optimal solution. This is what should be returned in most cases. WARNING: for historical reason, the value is zero, which means that this value can't have any subcategories.
MPSOLVER_OPTIMAL = 0;
- See Also:
-
MPSOLVER_FEASIBLE_VALUE
public static final int MPSOLVER_FEASIBLE_VALUEThe solver had enough time to find some solution that satisfies all constraints, but it did not prove optimality (which means it may or may not have reached the optimal). This can happen for large LP models (Linear Programming), and is a frequent response for time-limited MIPs (Mixed Integer Programming). In the MIP case, the difference between the solution 'objective_value' and 'best_objective_bound' fields of the MPSolutionResponse will give an indication of how far this solution is from the optimal one.
MPSOLVER_FEASIBLE = 1;
- See Also:
-
MPSOLVER_INFEASIBLE_VALUE
public static final int MPSOLVER_INFEASIBLE_VALUEThe model does not have any solution, according to the solver (which "proved" it, with the caveat that numerical proofs aren't actual proofs), or based on trivial considerations (eg. a variable whose lower bound is strictly greater than its upper bound).
MPSOLVER_INFEASIBLE = 2;
- See Also:
-
MPSOLVER_UNBOUNDED_VALUE
public static final int MPSOLVER_UNBOUNDED_VALUEThere exist solutions that make the magnitude of the objective value as large as wanted (i.e. -infinity (resp. +infinity) for a minimization (resp. maximization) problem.
MPSOLVER_UNBOUNDED = 3;
- See Also:
-
MPSOLVER_ABNORMAL_VALUE
public static final int MPSOLVER_ABNORMAL_VALUEAn error (most probably numerical) occurred. One likely cause for such errors is a large numerical range among variable coefficients (eg. 1e-16, 1e20), in which case one should try to shrink it.
MPSOLVER_ABNORMAL = 4;
- See Also:
-
MPSOLVER_NOT_SOLVED_VALUE
public static final int MPSOLVER_NOT_SOLVED_VALUEThe solver did not have a chance to diagnose the model in one of the categories above.
MPSOLVER_NOT_SOLVED = 6;
- See Also:
-
MPSOLVER_MODEL_IS_VALID_VALUE
public static final int MPSOLVER_MODEL_IS_VALID_VALUELike "NOT_SOLVED", but typically used by model validation functions returning a "model status", to enhance readability of the client code.
MPSOLVER_MODEL_IS_VALID = 97;
- See Also:
-
MPSOLVER_CANCELLED_BY_USER_VALUE
public static final int MPSOLVER_CANCELLED_BY_USER_VALUEThe solve was interrupted by the user, and the solver didn't have time to return a proper status.
MPSOLVER_CANCELLED_BY_USER = 98;
- See Also:
-
MPSOLVER_UNKNOWN_STATUS_VALUE
public static final int MPSOLVER_UNKNOWN_STATUS_VALUESpecial value: the solver status could not be properly translated and is unknown.
MPSOLVER_UNKNOWN_STATUS = 99;
- See Also:
-
MPSOLVER_MODEL_INVALID_VALUE
public static final int MPSOLVER_MODEL_INVALID_VALUEModel errors. These are always deterministic and repeatable. They should be accompanied with a string description of the error.
MPSOLVER_MODEL_INVALID = 5;
- See Also:
-
MPSOLVER_MODEL_INVALID_SOLUTION_HINT_VALUE
public static final int MPSOLVER_MODEL_INVALID_SOLUTION_HINT_VALUESomething is wrong with the fields "solution_hint_var_index" and/or "solution_hint_var_value".
MPSOLVER_MODEL_INVALID_SOLUTION_HINT = 84;
- See Also:
-
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS_VALUE
public static final int MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS_VALUESomething is wrong with the solver_specific_parameters request field.
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS = 85;
- See Also:
-
MPSOLVER_SOLVER_TYPE_UNAVAILABLE_VALUE
public static final int MPSOLVER_SOLVER_TYPE_UNAVAILABLE_VALUEImplementation error: the requested solver implementation is not available (see MPModelRequest.solver_type). The linear solver binary was probably not linked with the required library, eg //ortools/linear_solver:linear_solver_scip for SCIP.
MPSOLVER_SOLVER_TYPE_UNAVAILABLE = 7;
- See Also:
-
MPSOLVER_INCOMPATIBLE_OPTIONS_VALUE
public static final int MPSOLVER_INCOMPATIBLE_OPTIONS_VALUESome of the selected options were incompatible, e.g. a cancellable solve was requested via SolverClient::SolveMipRemotely() with an underlying solver that doesn't support cancellation. status_str should contain a description of the issue.
MPSOLVER_INCOMPATIBLE_OPTIONS = 113;
- See Also:
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
getNumber
public final int getNumber()- Specified by:
getNumber
in interfacecom.google.protobuf.Internal.EnumLite
- Specified by:
getNumber
in interfacecom.google.protobuf.ProtocolMessageEnum
-
valueOf
Deprecated.Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
value
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
forNumber
- Parameters:
value
- The numeric wire value of the corresponding enum entry.- Returns:
- The enum associated with the given numeric wire value.
-
internalGetValueMap
public static com.google.protobuf.Internal.EnumLiteMap<MPSolverResponseStatus> internalGetValueMap() -
getValueDescriptor
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()- Specified by:
getValueDescriptor
in interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptorForType
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptor
public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() -
valueOf
public static MPSolverResponseStatus valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
desc
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-