Public Member Functions | Public Attributes | List of all members
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]

Public Member Functions

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

Public Attributes

IntVectorbasic
 
IntVectoratLower
 
IntVectoratUpper
 
IntVectoratEquality
 
IntVectorisFree
 
IntVectorsuperbasic
 
IntVectorunknown
 

Detailed Description

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

Definition at line 645 of file OSGeneral.h.

Constructor & Destructor Documentation

BasisStatus::BasisStatus ( )

Definition at line 796 of file OSGeneral.cpp.

BasisStatus::~BasisStatus ( )

Definition at line 811 of file OSGeneral.cpp.

Member Function Documentation

bool BasisStatus::IsEqual ( BasisStatus that)

A function to check for the equality of two objects.

Definition at line 1213 of file OSGeneral.cpp.

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 1257 of file OSGeneral.cpp.

bool BasisStatus::deepCopyFrom ( BasisStatus that)

A function to make a deep copy of an instance of this class.

Parameters
that,:the instance from which information is to be copied
Returns
whether the copy was created successfully

Definition at line 1301 of file OSGeneral.cpp.

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

Set the indices for a particular status.

Parameters
statusis a string representing the allowed statuses (as defined in enumeration ENUM_BASIS_STATUS - see below)
icontains the array of indices
nicontains the number of elements in i

Definition at line 854 of file OSGeneral.cpp.

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

Add one index to a particular status.

Parameters
statusis a string representing the allowed statuses (as defined in enumeration ENUM_BASIS_STATUS - see below)
idxcontains the value of the index

Definition at line 905 of file OSGeneral.cpp.

int BasisStatus::getNumberOfEl ( int  status)

Get the number of indices for a particular status.

Parameters
statusis 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 995 of file OSGeneral.cpp.

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

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

Parameters
statusis an integer representing the allowed statuses (as governed by enumeration ENUM_BASIS_STATUS — see below)
jis the (zero-based) position of the entry within the array
Returns
the value

Definition at line 1040 of file OSGeneral.cpp.

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

Get the entire array of indices for a particular status.

Parameters
statusis a string representing the allowed statuses (as governed by enumeration ENUM_BASIS_STATUS — see below)
iis the location where the user wants to store the array
Returns
whether the operation was successful
Note
it is the user's responsibility to reserve sufficient memory to hold the vector being returned.

Definition at line 950 of file OSGeneral.cpp.

int BasisStatus::getBasisDense ( int resultArray,
int  dim,
bool  flipIdx 
)

Get the entire array of basis status in dense form.

Parameters
resultArrayis the location where the user wants to store the array
dimis the size of the resultArray
flipIdxindicates whether the index values need to be flipped (used for representations of objective rows)
Returns
status of the operation: < 0: error condition = 0: no new data found (i.e., basis information is empty)

0: number of elements found

Note
it is the user's responsibility to reserve sufficient memory to hold the vector being returned.

Definition at line 1091 of file OSGeneral.cpp.

Member Data Documentation

IntVector* BasisStatus::basic

Definition at line 648 of file OSGeneral.h.

IntVector* BasisStatus::atLower

Definition at line 649 of file OSGeneral.h.

IntVector* BasisStatus::atUpper

Definition at line 650 of file OSGeneral.h.

IntVector* BasisStatus::atEquality

Definition at line 651 of file OSGeneral.h.

IntVector* BasisStatus::isFree

Definition at line 652 of file OSGeneral.h.

IntVector* BasisStatus::superbasic

Definition at line 653 of file OSGeneral.h.

IntVector* BasisStatus::unknown

Definition at line 654 of file OSGeneral.h.


The documentation for this class was generated from the following files: