public enum MPSolverResponseStatus extends java.lang.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
Enum Constant and Description |
---|
MPSOLVER_ABNORMAL
An error (most probably numerical) occurred.
|
MPSOLVER_CANCELLED_BY_USER
The solve was interrupted by the user, and the solver didn't have time to
return a proper status.
|
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).
|
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_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_MODEL_INVALID
Model errors.
|
MPSOLVER_MODEL_INVALID_SOLUTION_HINT
Something is wrong with the fields "solution_hint_var_index" and/or
"solution_hint_var_value".
|
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS
Something is wrong with the solver_specific_parameters request field.
|
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_NOT_SOLVED
The solver did not have a chance to diagnose the model in one of the
categories above.
|
MPSOLVER_OPTIMAL
The solver found the proven optimal solution.
|
MPSOLVER_SOLVER_TYPE_UNAVAILABLE
Implementation error: the requested solver implementation is not
available (see MPModelRequest.solver_type).
|
MPSOLVER_UNBOUNDED
There exist solutions that make the magnitude of the objective value
as large as wanted (i.e.
|
MPSOLVER_UNKNOWN_STATUS
Special value: the solver status could not be properly translated and is
unknown.
|
Modifier and Type | Field and Description |
---|---|
static int |
MPSOLVER_ABNORMAL_VALUE
An error (most probably numerical) occurred.
|
static int |
MPSOLVER_CANCELLED_BY_USER_VALUE
The solve was interrupted by the user, and the solver didn't have time to
return a proper status.
|
static int |
MPSOLVER_FEASIBLE_VALUE
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 int |
MPSOLVER_INCOMPATIBLE_OPTIONS_VALUE
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 int |
MPSOLVER_INFEASIBLE_VALUE
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 int |
MPSOLVER_MODEL_INVALID_SOLUTION_HINT_VALUE
Something is wrong with the fields "solution_hint_var_index" and/or
"solution_hint_var_value".
|
static int |
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS_VALUE
Something is wrong with the solver_specific_parameters request field.
|
static int |
MPSOLVER_MODEL_INVALID_VALUE
Model errors.
|
static int |
MPSOLVER_MODEL_IS_VALID_VALUE
Like "NOT_SOLVED", but typically used by model validation functions
returning a "model status", to enhance readability of the client code.
|
static int |
MPSOLVER_NOT_SOLVED_VALUE
The solver did not have a chance to diagnose the model in one of the
categories above.
|
static int |
MPSOLVER_OPTIMAL_VALUE
The solver found the proven optimal solution.
|
static int |
MPSOLVER_SOLVER_TYPE_UNAVAILABLE_VALUE
Implementation error: the requested solver implementation is not
available (see MPModelRequest.solver_type).
|
static int |
MPSOLVER_UNBOUNDED_VALUE
There exist solutions that make the magnitude of the objective value
as large as wanted (i.e.
|
static int |
MPSOLVER_UNKNOWN_STATUS_VALUE
Special value: the solver status could not be properly translated and is
unknown.
|
Modifier and Type | Method and Description |
---|---|
static MPSolverResponseStatus |
forNumber(int value) |
static com.google.protobuf.Descriptors.EnumDescriptor |
getDescriptor() |
com.google.protobuf.Descriptors.EnumDescriptor |
getDescriptorForType() |
int |
getNumber() |
com.google.protobuf.Descriptors.EnumValueDescriptor |
getValueDescriptor() |
static com.google.protobuf.Internal.EnumLiteMap<MPSolverResponseStatus> |
internalGetValueMap() |
static MPSolverResponseStatus |
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) |
static MPSolverResponseStatus |
valueOf(int value)
Deprecated.
Use
forNumber(int) instead. |
static MPSolverResponseStatus |
valueOf(java.lang.String name)
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.
|
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus MPSOLVER_NOT_SOLVED
The solver did not have a chance to diagnose the model in one of the categories above.
MPSOLVER_NOT_SOLVED = 6;
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus MPSOLVER_UNKNOWN_STATUS
Special value: the solver status could not be properly translated and is unknown.
MPSOLVER_UNKNOWN_STATUS = 99;
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS
Something is wrong with the solver_specific_parameters request field.
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS = 85;
public static final MPSolverResponseStatus 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;
public static final MPSolverResponseStatus 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;
public static final int MPSOLVER_OPTIMAL_VALUE
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;
public static final int MPSOLVER_FEASIBLE_VALUE
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;
public static final int MPSOLVER_INFEASIBLE_VALUE
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;
public static final int MPSOLVER_UNBOUNDED_VALUE
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;
public static final int MPSOLVER_ABNORMAL_VALUE
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;
public static final int MPSOLVER_NOT_SOLVED_VALUE
The solver did not have a chance to diagnose the model in one of the categories above.
MPSOLVER_NOT_SOLVED = 6;
public static final int MPSOLVER_MODEL_IS_VALID_VALUE
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;
public static final int MPSOLVER_CANCELLED_BY_USER_VALUE
The solve was interrupted by the user, and the solver didn't have time to return a proper status.
MPSOLVER_CANCELLED_BY_USER = 98;
public static final int MPSOLVER_UNKNOWN_STATUS_VALUE
Special value: the solver status could not be properly translated and is unknown.
MPSOLVER_UNKNOWN_STATUS = 99;
public static final int MPSOLVER_MODEL_INVALID_VALUE
Model errors. These are always deterministic and repeatable. They should be accompanied with a string description of the error.
MPSOLVER_MODEL_INVALID = 5;
public static final int MPSOLVER_MODEL_INVALID_SOLUTION_HINT_VALUE
Something is wrong with the fields "solution_hint_var_index" and/or "solution_hint_var_value".
MPSOLVER_MODEL_INVALID_SOLUTION_HINT = 84;
public static final int MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS_VALUE
Something is wrong with the solver_specific_parameters request field.
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS = 85;
public static final int MPSOLVER_SOLVER_TYPE_UNAVAILABLE_VALUE
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;
public static final int MPSOLVER_INCOMPATIBLE_OPTIONS_VALUE
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;
public static MPSolverResponseStatus[] values()
for (MPSolverResponseStatus c : MPSolverResponseStatus.values()) System.out.println(c);
public static MPSolverResponseStatus valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is nullpublic final int getNumber()
getNumber
in interface com.google.protobuf.Internal.EnumLite
getNumber
in interface com.google.protobuf.ProtocolMessageEnum
@Deprecated public static MPSolverResponseStatus valueOf(int value)
forNumber(int)
instead.value
- The numeric wire value of the corresponding enum entry.public static MPSolverResponseStatus forNumber(int value)
value
- The numeric wire value of the corresponding enum entry.public static com.google.protobuf.Internal.EnumLiteMap<MPSolverResponseStatus> internalGetValueMap()
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
getValueDescriptor
in interface com.google.protobuf.ProtocolMessageEnum
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
getDescriptorForType
in interface com.google.protobuf.ProtocolMessageEnum
public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
public static MPSolverResponseStatus valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Copyright © 2025. All rights reserved.