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 errorkOk: The method has completed successfullykWarning: 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-wisekRowwise: The matrix is stored row-wise
ObjSense
This defines optimization sense of a HighsLp:
kMinimize: The objective is to be minimizedkMaximize: 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 boundskInteger: The variable must take integer values between its boundskSemiContinuous: The variable must be zero or take continuous values between its boundskSemiInteger: 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-wisekSquare: The whole Hessian $Q$ is stored column-wise. This is for input only: internally the Hessian is stored inkTriangularformat
SolutionStatus
This defines the nature of any primal or dual solution information:
kSolutionStatusNone: There is no solution informationkSolutionStatusInfeasible: The solution is not feasiblekSolutionStatusFeasible: The solution is feasible
BasisValidity
This defines the nature of any basis information:
kBasisValidityInvalid: There is no basisn informationkBasisValidityValid: 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 optimalitykCentringStatusFailed: Centring was performed, but the solution could not be centredkCentringStatusSuccess: The solution is centred
HighsModelStatus
This defines the status of the model after a call to run
kNotset: The model status has not been setkModelError: There is an error in the modelkSolveError: There has been an error when solving the modelkModelEmpty: The model is emptykOptimal: The model has been solved to optimalitykInfeasible: The model is infeasiblekUnboundedOrInfeasible: The model is unbounded or infeasiblekUnbounded: The model is unboundedkObjectiveBound: The bound on the model objective value has been reachedkObjectiveTarget: The target value for the model objective has been reachedkTimeLimit: The run time limit has been reachedkIterationLimit: The iteration limit has been reachedkSolutionLimit: The MIP solver has reached the limit on the number of LPs solvedkInterrupt: The solver has been interrupted by the userkMemoryLimit: The solver has been unable to allocate sufficient memorykUnknown: 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 basickUpper: The variable is at its upper boundkZero: A free variable is nonbasic and set to zerokNonbasic: The variable is nonbasic
HighsOptionType
This defines the types of option values that control HiGHS:
kBool: The option type is booleankInt: The option type is integerkDouble: The option type is doublekString: 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 integerkInt: The information type is integerkDouble: The information type is double