Enums

The members of the fundamental HiGHS enums are defined below. If Enum refers to a particular enum, and Member to a particular member, the members are available as follows.

  • Python: highspy.Enum.Member
  • C++: Enum::Member

Members for internal use only are not documented.

HighsStatus

This is (part of) the return value of most HiGHS methods:

  • kError: The method has exposed an error
  • kOk: The method has completed successfully
  • kWarning: The method has recovered from an unusual event, or has terminated

due to reaching a time or iteration limit

MatrixFormat

This defines the format of a HighsSparseMatrix:

  • kColwise: The matrix is stored column-wise
  • kRowwise: The matrix is stored row-wise

ObjSense

This defines optimization sense of a HighsLp:

  • kMinimize: The objective is to be minimized
  • kMaximize: The objective is to be maximized

HighsVarType

This defines the feasible values of a variable within a model:

  • kContinuous: The variable can take continuous values between its bounds
  • kInteger: The variable must take integer values between its bounds
  • kSemiContinuous: The variable must be zero or take continuous values between its bounds
  • kSemiInteger: The variable must be zero or take integer values between its bounds

HessianFormat

This defines the format of a HighsHessian:

  • kTriangular: The lower triangular component of the Hessian is stored column-wise or, equivalently, the upper triangular component is stored row-wise
  • kSquare: The whole Hessian $Q$ is stored column-wise. This is for input only: internally the Hessian is stored in kTriangular format

SolutionStatus

This defines the nature of any primal or dual solution information:

  • kSolutionStatusNone: There is no solution information
  • kSolutionStatusInfeasible: The solution is not feasible
  • kSolutionStatusFeasible: The solution is feasible

BasisValidity

This defines the nature of any basis information:

  • kBasisValidityInvalid: There is no basisn information
  • kBasisValidityValid: The basis information is valid

CentringStatus

This defines the outcome of any centring by the interior point solver. The model status only indicates whether the LP is solved, so it can be optimal even if the solution is not centred:

  • kCentringStatusNone: Centring was not performed, either because it was not requested or because the interior point solver did not reach optimality
  • kCentringStatusFailed: Centring was performed, but the solution could not be centred
  • kCentringStatusSuccess: The solution is centred

HighsModelStatus

This defines the status of the model after a call to run

  • kNotset: The model status has not been set
  • kModelError: There is an error in the model
  • kSolveError: There has been an error when solving the model
  • kModelEmpty: The model is empty
  • kOptimal: The model has been solved to optimality
  • kInfeasible: The model is infeasible
  • kUnboundedOrInfeasible: The model is unbounded or infeasible
  • kUnbounded: The model is unbounded
  • kObjectiveBound: The bound on the model objective value has been reached
  • kObjectiveTarget: The target value for the model objective has been reached
  • kTimeLimit: The run time limit has been reached
  • kIterationLimit: The iteration limit has been reached
  • kSolutionLimit: The MIP solver has reached the limit on the number of LPs solved
  • kInterrupt: The solver has been interrupted by the user
  • kMemoryLimit: The solver has been unable to allocate sufficient memory
  • kUnknown: The model status is unknown

HighsBasisStatus

This defines the status of a variable (or slack variable for a constraint) in a basis:

  • kLower: The variable is nonbasic at its lower bound (or fixed value)
  • kBasic: The variable is basic
  • kUpper: The variable is at its upper bound
  • kZero: A free variable is nonbasic and set to zero
  • kNonbasic: The variable is nonbasic

HighsOptionType

This defines the types of option values that control HiGHS:

  • kBool: The option type is boolean
  • kInt: The option type is integer
  • kDouble: The option type is double
  • kString: The option type is string

HighsInfoType

This defines the types of (scalar) information available after a call to run:

  • kInt64: The information type is 64-bit integer
  • kInt: The information type is integer
  • kDouble: The information type is double