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 lower triangular component of $(Q+Q^T)/2$ will be stored

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

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