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)