Enum MPSolverResponseStatus

java.lang.Object
java.lang.Enum<MPSolverResponseStatus>
com.google.ortools.linearsolver.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
  • Enum Constant Details

    • MPSOLVER_OPTIMAL

      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;
    • MPSOLVER_FEASIBLE

      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;
    • MPSOLVER_INFEASIBLE

      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;
    • MPSOLVER_UNBOUNDED

      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;
    • MPSOLVER_ABNORMAL

      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;
    • MPSOLVER_NOT_SOLVED

      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;
    • MPSOLVER_MODEL_IS_VALID

      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;
    • MPSOLVER_CANCELLED_BY_USER

      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;
    • MPSOLVER_UNKNOWN_STATUS

      public static final MPSolverResponseStatus MPSOLVER_UNKNOWN_STATUS
      Special value: the solver status could not be properly translated and is
      unknown.
      
      MPSOLVER_UNKNOWN_STATUS = 99;
    • MPSOLVER_MODEL_INVALID

      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;
    • MPSOLVER_MODEL_INVALID_SOLUTION_HINT

      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;
    • MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS

      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;
    • MPSOLVER_SOLVER_TYPE_UNAVAILABLE

      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,
      
      MPSOLVER_SOLVER_TYPE_UNAVAILABLE = 7;
    • MPSOLVER_INCOMPATIBLE_OPTIONS

      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;
  • Field Details

    • MPSOLVER_OPTIMAL_VALUE

      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;
      See Also:
    • MPSOLVER_FEASIBLE_VALUE

      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;
      See Also:
    • MPSOLVER_INFEASIBLE_VALUE

      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;
      See Also:
    • MPSOLVER_UNBOUNDED_VALUE

      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;
      See Also:
    • MPSOLVER_ABNORMAL_VALUE

      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;
      See Also:
    • MPSOLVER_NOT_SOLVED_VALUE

      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;
      See Also:
    • MPSOLVER_MODEL_IS_VALID_VALUE

      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;
      See Also:
    • MPSOLVER_CANCELLED_BY_USER_VALUE

      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;
      See Also:
    • MPSOLVER_UNKNOWN_STATUS_VALUE

      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;
      See Also:
    • MPSOLVER_MODEL_INVALID_VALUE

      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;
      See Also:
    • MPSOLVER_MODEL_INVALID_SOLUTION_HINT_VALUE

      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;
      See Also:
    • MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS_VALUE

      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;
      See Also:
    • MPSOLVER_SOLVER_TYPE_UNAVAILABLE_VALUE

      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,
      
      MPSOLVER_SOLVER_TYPE_UNAVAILABLE = 7;
      See Also:
    • MPSOLVER_INCOMPATIBLE_OPTIONS_VALUE

      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;
      See Also:
  • Method Details

    • values

      public static MPSolverResponseStatus[] 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

      public static MPSolverResponseStatus valueOf(String name)
      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 name
      NullPointerException - if the argument is null
    • getNumber

      public final int getNumber()
      Specified by:
      getNumber in interface com.google.protobuf.Internal.EnumLite
      Specified by:
      getNumber in interface com.google.protobuf.ProtocolMessageEnum
    • valueOf

      @Deprecated public static MPSolverResponseStatus valueOf(int value)
      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 name
      NullPointerException - if the argument is null
    • forNumber

      public static MPSolverResponseStatus forNumber(int value)
      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 interface com.google.protobuf.ProtocolMessageEnum
    • getDescriptorForType

      public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.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 name
      NullPointerException - if the argument is null