Java Reference
Java Reference
Detailed Description
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
Definition at line 20 of file MPSolverResponseStatus.java.
Public Member Functions | |
| final int | getNumber () |
| final com.google.protobuf.Descriptors.EnumValueDescriptor | getValueDescriptor () |
| final com.google.protobuf.Descriptors.EnumDescriptor | getDescriptorForType () |
Static Public Member Functions | |
| .lang.Deprecated static MPSolverResponseStatus | valueOf (int value) |
| static MPSolverResponseStatus | forNumber (int value) |
| static com.google.protobuf.Internal.EnumLiteMap< MPSolverResponseStatus > | internalGetValueMap () |
| static final com.google.protobuf.Descriptors.EnumDescriptor | getDescriptor () |
| static MPSolverResponseStatus | valueOf (com.google.protobuf.Descriptors.EnumValueDescriptor desc) |
Public Attributes | |
| MPSOLVER_OPTIMAL =(0) | |
| MPSOLVER_FEASIBLE =(1) | |
| MPSOLVER_INFEASIBLE =(2) | |
| MPSOLVER_UNBOUNDED =(3) | |
| MPSOLVER_ABNORMAL =(4) | |
| MPSOLVER_NOT_SOLVED =(6) | |
| MPSOLVER_MODEL_IS_VALID =(97) | |
| MPSOLVER_UNKNOWN_STATUS =(99) | |
| MPSOLVER_MODEL_INVALID =(5) | |
| MPSOLVER_MODEL_INVALID_SOLUTION_HINT =(84) | |
| MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS =(85) | |
| MPSOLVER_SOLVER_TYPE_UNAVAILABLE =(7) | |
Static Public Attributes | |
| static final int | MPSOLVER_OPTIMAL_VALUE = 0 |
| static final int | MPSOLVER_FEASIBLE_VALUE = 1 |
| static final int | MPSOLVER_INFEASIBLE_VALUE = 2 |
| static final int | MPSOLVER_UNBOUNDED_VALUE = 3 |
| static final int | MPSOLVER_ABNORMAL_VALUE = 4 |
| static final int | MPSOLVER_NOT_SOLVED_VALUE = 6 |
| static final int | MPSOLVER_MODEL_IS_VALID_VALUE = 97 |
| static final int | MPSOLVER_UNKNOWN_STATUS_VALUE = 99 |
| static final int | MPSOLVER_MODEL_INVALID_VALUE = 5 |
| static final int | MPSOLVER_MODEL_INVALID_SOLUTION_HINT_VALUE = 84 |
| static final int | MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS_VALUE = 85 |
| static final int | MPSOLVER_SOLVER_TYPE_UNAVAILABLE_VALUE = 7 |
Member Function Documentation
◆ forNumber()
|
inlinestatic |
- Parameters
-
value The numeric wire value of the corresponding enum entry.
- Returns
- The enum associated with the given numeric wire value.
Definition at line 286 of file MPSolverResponseStatus.java.
◆ getDescriptor()
|
inlinestatic |
Definition at line 325 of file MPSolverResponseStatus.java.
◆ getDescriptorForType()
|
inline |
Definition at line 321 of file MPSolverResponseStatus.java.
◆ getNumber()
|
inline |
Definition at line 268 of file MPSolverResponseStatus.java.
◆ getValueDescriptor()
|
inline |
Definition at line 317 of file MPSolverResponseStatus.java.
◆ internalGetValueMap()
|
inlinestatic |
Definition at line 305 of file MPSolverResponseStatus.java.
◆ valueOf() [1/2]
|
inlinestatic |
Definition at line 331 of file MPSolverResponseStatus.java.
◆ valueOf() [2/2]
|
inlinestatic |
- Parameters
-
value The numeric wire value of the corresponding enum entry.
- Returns
- The enum associated with the given numeric wire value.
- Deprecated:
- Use forNumber(int) instead.
Definition at line 278 of file MPSolverResponseStatus.java.
Member Data Documentation
◆ MPSOLVER_ABNORMAL
| MPSOLVER_ABNORMAL =(4) |
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;
Definition at line 78 of file MPSolverResponseStatus.java.
◆ MPSOLVER_ABNORMAL_VALUE
|
static |
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;
Definition at line 201 of file MPSolverResponseStatus.java.
◆ MPSOLVER_FEASIBLE
| MPSOLVER_FEASIBLE =(1) |
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;
Definition at line 47 of file MPSolverResponseStatus.java.
◆ MPSOLVER_FEASIBLE_VALUE
|
static |
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;
Definition at line 170 of file MPSolverResponseStatus.java.
◆ MPSOLVER_INFEASIBLE
| MPSOLVER_INFEASIBLE =(2) |
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;
Definition at line 58 of file MPSolverResponseStatus.java.
◆ MPSOLVER_INFEASIBLE_VALUE
|
static |
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;
Definition at line 181 of file MPSolverResponseStatus.java.
◆ MPSOLVER_MODEL_INVALID
| MPSOLVER_MODEL_INVALID =(5) |
Model errors. These are always deterministic and repeatable. They should be accompanied with a string description of the error.
MPSOLVER_MODEL_INVALID = 5;
Definition at line 114 of file MPSolverResponseStatus.java.
◆ MPSOLVER_MODEL_INVALID_SOLUTION_HINT
| MPSOLVER_MODEL_INVALID_SOLUTION_HINT =(84) |
Something is wrong with the fields "solution_hint_var_index" and/or "solution_hint_var_value".
MPSOLVER_MODEL_INVALID_SOLUTION_HINT = 84;
Definition at line 123 of file MPSolverResponseStatus.java.
◆ MPSOLVER_MODEL_INVALID_SOLUTION_HINT_VALUE
|
static |
Something is wrong with the fields "solution_hint_var_index" and/or "solution_hint_var_value".
MPSOLVER_MODEL_INVALID_SOLUTION_HINT = 84;
Definition at line 246 of file MPSolverResponseStatus.java.
◆ MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS
| MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS =(85) |
Something is wrong with the solver_specific_parameters request field.
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS = 85;
Definition at line 131 of file MPSolverResponseStatus.java.
◆ MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS_VALUE
|
static |
Something is wrong with the solver_specific_parameters request field.
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS = 85;
Definition at line 254 of file MPSolverResponseStatus.java.
◆ MPSOLVER_MODEL_INVALID_VALUE
|
static |
Model errors. These are always deterministic and repeatable. They should be accompanied with a string description of the error.
MPSOLVER_MODEL_INVALID = 5;
Definition at line 237 of file MPSolverResponseStatus.java.
◆ MPSOLVER_MODEL_IS_VALID
| MPSOLVER_MODEL_IS_VALID =(97) |
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;
Definition at line 96 of file MPSolverResponseStatus.java.
◆ MPSOLVER_MODEL_IS_VALID_VALUE
|
static |
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;
Definition at line 219 of file MPSolverResponseStatus.java.
◆ MPSOLVER_NOT_SOLVED
| MPSOLVER_NOT_SOLVED =(6) |
The solver did not have a chance to diagnose the model in one of the categories above.
MPSOLVER_NOT_SOLVED = 6;
Definition at line 87 of file MPSolverResponseStatus.java.
◆ MPSOLVER_NOT_SOLVED_VALUE
|
static |
The solver did not have a chance to diagnose the model in one of the categories above.
MPSOLVER_NOT_SOLVED = 6;
Definition at line 210 of file MPSolverResponseStatus.java.
◆ MPSOLVER_OPTIMAL
| MPSOLVER_OPTIMAL =(0) |
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;
Definition at line 32 of file MPSolverResponseStatus.java.
◆ MPSOLVER_OPTIMAL_VALUE
|
static |
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;
Definition at line 155 of file MPSolverResponseStatus.java.
◆ MPSOLVER_SOLVER_TYPE_UNAVAILABLE
| MPSOLVER_SOLVER_TYPE_UNAVAILABLE =(7) |
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;
Definition at line 142 of file MPSolverResponseStatus.java.
◆ MPSOLVER_SOLVER_TYPE_UNAVAILABLE_VALUE
|
static |
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;
Definition at line 265 of file MPSolverResponseStatus.java.
◆ MPSOLVER_UNBOUNDED
| MPSOLVER_UNBOUNDED =(3) |
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;
Definition at line 68 of file MPSolverResponseStatus.java.
◆ MPSOLVER_UNBOUNDED_VALUE
|
static |
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;
Definition at line 191 of file MPSolverResponseStatus.java.
◆ MPSOLVER_UNKNOWN_STATUS
| MPSOLVER_UNKNOWN_STATUS =(99) |
Special value: the solver status could not be properly translated and is unknown.
MPSOLVER_UNKNOWN_STATUS = 99;
Definition at line 105 of file MPSolverResponseStatus.java.
◆ MPSOLVER_UNKNOWN_STATUS_VALUE
|
static |
Special value: the solver status could not be properly translated and is unknown.
MPSOLVER_UNKNOWN_STATUS = 99;
Definition at line 228 of file MPSolverResponseStatus.java.
The documentation for this enum was generated from the following file: