Status Array

The astute reader may have noticed that the status array has been mentioned once or twice. The beginning user will not need to look at it Nevertheless, for completeness the status of a variable can be found and set as shown below. The possible state of a variable are listed in the following table (each may have to be preceded by ClpSimplex::):

Table 2.4. Possible states of a variable

Status[a] Description
basic In basis
isFree Not in basis, has infinite bounds
isFixed Not in basis, bounds are equal
atUpperBound At upper bound, not in basis
atLowerBound At lower bound, not in basis
superBasic Between bounds, but not basic or free

[a] Status is an enumeration.

To get or set the status of a variable is a simple task:

  // Get row status...
  Status status=model.getRowStatus(sequenceNumber)
  // ... or get column status.
  Status status=model.getColumnStatus(sequenceNumber)
  // Set row status to basic (for example)...
  model.setRowStatus(sequenceNumber,ClpSimplex::basic)
  // ... or column status to basic.
  model.setColumnStatus(sequenceNumber,ClpSimplex::basic)