BasisStatus Class Reference

a data structure to represent an LP basis on both input and output More...

#include <OSGeneral.h>

Collaboration diagram for BasisStatus:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BasisStatus ()
 ~BasisStatus ()
bool IsEqual (BasisStatus *that)
 A function to check for the equality of two objects.
bool setRandom (double density, bool conformant, int iMin, int iMax)
 A function to make a random instance of this class.
bool setIntVector (int status, int *i, int ni)
 Set the indices for a particular status.
bool addIdx (int status, int idx)
 Add one index to a particular status.
int getNumberOfEl (int status)
 Get the number of indices for a particular status.
int getEl (int status, int j)
 Get one entry in the array of indices for a particular status.
bool getIntVector (int status, int *i)
 Get the entire array of indices for a particular status.

Public Attributes

IntVectorbasic
IntVectoratLower
IntVectoratUpper
IntVectorisFree
IntVectorsuperbasic
IntVectorunknown

Detailed Description

a data structure to represent an LP basis on both input and output

Definition at line 572 of file OSGeneral.h.


Constructor & Destructor Documentation

BasisStatus::BasisStatus (  ) 

Definition at line 682 of file OSGeneral.cpp.

BasisStatus::~BasisStatus (  ) 

Definition at line 696 of file OSGeneral.cpp.

References atLower, atUpper, basic, isFree, superbasic, and unknown.


Member Function Documentation

bool BasisStatus::IsEqual ( BasisStatus that  ) 

A function to check for the equality of two objects.

Definition at line 944 of file OSGeneral.cpp.

References atLower, atUpper, basic, isFree, superbasic, and unknown.

bool BasisStatus::setRandom ( double  density,
bool  conformant,
int  iMin,
int  iMax 
)

A function to make a random instance of this class.

Parameters:
density,: corresponds to the probability that a particular child element is created
conformant,: if true enforces side constraints not enforceable in the schema (e.g., agreement of "numberOfXXX" attributes and <XXX> children)
iMin,: lowest index value (inclusive) that an entry in this basis can take
iMax,: greatest index value (inclusive) that an entry in this basis can take

Definition at line 984 of file OSGeneral.cpp.

References atLower, atUpper, basic, isFree, OSRand(), IntVector::setRandom(), superbasic, and unknown.

Referenced by ConstraintSolution::setRandom(), ObjectiveSolution::setRandom(), VariableSolution::setRandom(), ConstraintOption::setRandom(), ObjectiveOption::setRandom(), and VariableOption::setRandom().

bool BasisStatus::setIntVector ( int  status,
int *  i,
int  ni 
)

Set the indices for a particular status.

Parameters:
status is a string representing the allowed statuses (as defined in enumeration ENUM_BASIS_STATUS - see below)
i contains the array of indices
ni contains the number of elements in i

Definition at line 734 of file OSGeneral.cpp.

References atLower, atUpper, basic, ENUM_BASIS_STATUS_atLower, ENUM_BASIS_STATUS_atUpper, ENUM_BASIS_STATUS_basic, ENUM_BASIS_STATUS_isFree, ENUM_BASIS_STATUS_superbasic, ENUM_BASIS_STATUS_unknown, isFree, IntVector::setIntVector(), superbasic, and unknown.

Referenced by OSResult::setBasisStatus(), and OSOption::setInitBasisStatus().

bool BasisStatus::addIdx ( int  status,
int  idx 
)

Add one index to a particular status.

Parameters:
status is a string representing the allowed statuses (as defined in enumeration ENUM_BASIS_STATUS - see below)
idx contains the value of the index

Definition at line 779 of file OSGeneral.cpp.

References atLower, atUpper, basic, ENUM_BASIS_STATUS_atLower, ENUM_BASIS_STATUS_atUpper, ENUM_BASIS_STATUS_basic, ENUM_BASIS_STATUS_isFree, ENUM_BASIS_STATUS_superbasic, ENUM_BASIS_STATUS_unknown, IntVector::extendIntVector(), isFree, superbasic, and unknown.

Referenced by OSOption::setAnotherInitBasisStatus().

int BasisStatus::getNumberOfEl ( int  status  ) 

Get the number of indices for a particular status.

Parameters:
status is a string representing the allowed statuses (at present "basic", "atLower", "atUpper", "isFree", "superbasic", "unknown")
Returns:
the number of indices or -1 if the object does not exist

Definition at line 859 of file OSGeneral.cpp.

References atLower, atUpper, basic, ENUM_BASIS_STATUS_atLower, ENUM_BASIS_STATUS_atUpper, ENUM_BASIS_STATUS_basic, ENUM_BASIS_STATUS_isFree, ENUM_BASIS_STATUS_superbasic, ENUM_BASIS_STATUS_unknown, isFree, IntVector::numberOfEl, superbasic, and unknown.

Referenced by OSResult::getBasisStatusNumberOfEl(), and OSOption::getNumberOfInitialBasisElements().

int BasisStatus::getEl ( int  status,
int  j 
)

Get one entry in the array of indices for a particular status.

Parameters:
status is an integer representing the allowed statuses (as governed by enumeration ENUM_BASIS_STATUS --- see below)
j is the (zero-based) position of the entry within the array
Returns:
the value

Definition at line 899 of file OSGeneral.cpp.

References atLower, atUpper, basic, IntVector::el, ENUM_BASIS_STATUS_atLower, ENUM_BASIS_STATUS_atUpper, ENUM_BASIS_STATUS_basic, ENUM_BASIS_STATUS_isFree, ENUM_BASIS_STATUS_superbasic, ENUM_BASIS_STATUS_unknown, isFree, superbasic, and unknown.

Referenced by OSResult::getBasisStatusEl().

bool BasisStatus::getIntVector ( int  status,
int *  i 
)

Get the entire array of indices for a particular status.

Parameters:
status is a string representing the allowed statuses (as governed by enumeration ENUM_BASIS_STATUS --- see below)
i is the location where the user wants to store the array
Returns:
the value
Note:
it is the user's responsibility to reserve sufficient memory to hold the vector being returned.

Definition at line 819 of file OSGeneral.cpp.

References atLower, atUpper, basic, ENUM_BASIS_STATUS_atLower, ENUM_BASIS_STATUS_atUpper, ENUM_BASIS_STATUS_basic, ENUM_BASIS_STATUS_isFree, ENUM_BASIS_STATUS_superbasic, ENUM_BASIS_STATUS_unknown, IntVector::getEl(), isFree, superbasic, and unknown.

Referenced by OSOption::getInitialBasisElements().


Member Data Documentation

IntVector* BasisStatus::basic

Definition at line 575 of file OSGeneral.h.

Referenced by addIdx(), getEl(), getIntVector(), getNumberOfEl(), IsEqual(), setIntVector(), setRandom(), tempPrintArrays(), writeBasisStatus(), and ~BasisStatus().

IntVector* BasisStatus::atLower

Definition at line 576 of file OSGeneral.h.

Referenced by addIdx(), getEl(), getIntVector(), getNumberOfEl(), OSOption::getSlackVariableInitialBasisStatusDense(), OSOption::getVariableInitialBasisStatusDense(), IsEqual(), setIntVector(), setRandom(), tempPrintArrays(), writeBasisStatus(), and ~BasisStatus().

IntVector* BasisStatus::atUpper

Definition at line 577 of file OSGeneral.h.

Referenced by addIdx(), getEl(), getIntVector(), getNumberOfEl(), OSOption::getSlackVariableInitialBasisStatusDense(), OSOption::getVariableInitialBasisStatusDense(), IsEqual(), setIntVector(), setRandom(), tempPrintArrays(), writeBasisStatus(), and ~BasisStatus().

IntVector* BasisStatus::isFree

Definition at line 578 of file OSGeneral.h.

Referenced by addIdx(), getEl(), getIntVector(), getNumberOfEl(), OSOption::getSlackVariableInitialBasisStatusDense(), OSOption::getVariableInitialBasisStatusDense(), IsEqual(), setIntVector(), setRandom(), tempPrintArrays(), writeBasisStatus(), and ~BasisStatus().

IntVector* BasisStatus::superbasic

Definition at line 579 of file OSGeneral.h.

Referenced by addIdx(), getEl(), getIntVector(), getNumberOfEl(), OSOption::getSlackVariableInitialBasisStatusDense(), OSOption::getVariableInitialBasisStatusDense(), IsEqual(), setIntVector(), setRandom(), tempPrintArrays(), writeBasisStatus(), and ~BasisStatus().

IntVector* BasisStatus::unknown

Definition at line 580 of file OSGeneral.h.

Referenced by addIdx(), getEl(), getIntVector(), getNumberOfEl(), IsEqual(), setIntVector(), setRandom(), tempPrintArrays(), writeBasisStatus(), and ~BasisStatus().


The documentation for this class was generated from the following files:
Generated on Wed Nov 30 03:11:11 2011 by  doxygen 1.4.7