13 #ifndef CoinWarmStartBasis_H 
   14 #define CoinWarmStartBasis_H 
  108     st_byte = 
static_cast< char >(st_byte & ~(3 << ((i & 3) << 1)));
 
  109     st_byte = 
static_cast< char >(st_byte | (st << ((i & 3) << 1)));
 
  142     st_byte = 
static_cast< char >(st_byte & ~(3 << ((i & 3) << 1)));
 
  143     st_byte = 
static_cast< char >(st_byte | (st << ((i & 3) << 1)));
 
  186   virtual void setSize(
int ns, 
int na);
 
  196   virtual void resize(
int newNumberRows, 
int newNumberColumns);
 
  227   virtual void deleteRows(
int rawTgtCnt, 
const int *rawTgts);
 
  319   virtual void print() 
const;
 
  353   const int st = (array[i >> 2] >> ((i & 3) << 1)) & 3;
 
  363   char &st_byte = array[i >> 2];
 
  364   st_byte = 
static_cast< char >(st_byte & ~(3 << ((i & 3) << 1)));
 
  365   st_byte = 
static_cast< char >(st_byte | (st << ((i & 3) << 1)));
 
  410     return (dynamic_cast< CoinWarmStartDiff * >(cwsbd));
 
  446     const unsigned int *
const diffVals);
 
virtual void assignBasisStatus(int ns, int na, char *&sStat, char *&aStat)
Assign the status vectors to be the warm start information. 
 
virtual void resize(int newNumberRows, int newNumberColumns)
Set basis capacity; existing basis is maintained. 
 
virtual void deleteColumns(int number, const int *which)
Delete a set of columns from the basis. 
 
unsigned int * difference_
Array of diff indices and diff values. 
 
CoinTriple< int, int, int > XferEntry
Transfer vector entry for mergeBasis(const CoinWarmStartBasis*,const XferVec*,const XferVec*) ...
 
bool fixFullBasis()
Returns true if full basis and fixes up (for debug) 
 
CoinWarmStartBasis::Status charToStatus(char status)
Convert character to status. 
 
virtual void setSize(int ns, int na)
Set basis capacity; existing basis is discarded. 
 
virtual ~CoinWarmStartBasisDiff()
Destructor. 
 
void setStatus(char *array, int i, CoinWarmStartBasis::Status st)
Set the status of the specified variable in the given status array. 
 
virtual CoinWarmStart * clone() const 
`Virtual constructor' 
 
Status getStructStatus(int i) const 
Return the status of the specified structural variable. 
 
void setStructStatus(int i, Status st)
Set the status of the specified structural variable. 
 
int numStructural_
The number of structural variables. 
 
CoinWarmStartBasis::Status getStatus(const char *array, int i)
Get the status of the specified variable in the given status array. 
 
Not basic and not at bound. 
 
CoinWarmStartBasisDiff()
Default constructor. 
 
CoinWarmStartBasis()
Default constructor. 
 
virtual void compressRows(int tgtCnt, const int *tgts)
Delete a set of rows from the basis. 
 
The default COIN simplex (basis-oriented) warm start class. 
 
void setArtifStatus(int i, Status st)
Set the status of the specified artificial variable. 
 
const char * statusName(CoinPrePostsolveMatrix::Status status)
Generate a print string for a status code. 
 
virtual void mergeBasis(const CoinWarmStartBasis *src, const XferVec *xferRows, const XferVec *xferCols)
Merge entries from a source basis into this basis. 
 
char * getStructuralStatus()
Return the status array for the structural variables. 
 
int numberBasicStructurals() const 
Return the number of basic structurals. 
 
int numArtificial_
The number of artificial variables. 
 
A `diff' between two CoinWarmStartBasis objects. 
 
const char * getArtificialStatus() const 
const overload for getArtificialStatus()  
 
virtual void print() const 
Prints in readable format (for debug) 
 
bool fullBasis() const 
Returns true if full basis (for debug) 
 
virtual CoinWarmStartDiff * clone() const 
`Virtual constructor' 
 
Status getArtifStatus(int i) const 
Return the status of the specified artificial variable. 
 
int sze_
Number of entries (and allocated capacity), in units of int. 
 
char * artificialStatus_
The status of the artificial variables. 
 
char * structuralStatus_
The status of the structural variables. 
 
int getNumStructural() const 
Return the number of structural variables. 
 
virtual CoinWarmStartDiff * generateDiff(const CoinWarmStart *const oldCWS) const 
Generate a `diff' that can convert the warm start basis passed as a parameter to the warm start basis...
 
int maxSize_
The maximum sise (in ints - actually 4*char) (so resize does not need to do new) 
 
Copyright (C) 2000 – 2003, International Business Machines Corporation and others. 
 
const char * getStructuralStatus() const 
const overload for getStructuralStatus()  
 
virtual CoinWarmStartBasisDiff & operator=(const CoinWarmStartBasisDiff &rhs)
Assignment. 
 
Abstract base class for warm start `diff' objects. 
 
virtual ~CoinWarmStartBasis()
Destructor. 
 
std::vector< XferEntry > XferVec
Transfer vector for mergeBasis(const CoinWarmStartBasis*,const XferVec*,const XferVec*) ...
 
Status
Enum for status of variables. 
 
int getNumArtificial() const 
Return the number of artificial variables. 
 
virtual CoinWarmStartBasis & operator=(const CoinWarmStartBasis &rhs)
Assignment. 
 
char * getArtificialStatus()
As for getStructuralStatus , but returns the status array for the artificial variables. 
 
virtual void deleteRows(int rawTgtCnt, const int *rawTgts)
Delete a set of rows from the basis. 
 
char statusToChar(CoinWarmStartBasis::Status status)
In an example Aleksandr Kazachkov sent to me, I noticed he was using code as above but with char - it...
 
virtual void applyDiff(const CoinWarmStartDiff *const cwsdDiff)
Apply diff to this basis. 
 
Abstract base class for warm start information.