1#ifndef OsiDylpWarmStartBasis_H
2#define OsiDylpWarmStartBasis_H
66 {
const int st = (constraintStatus_[i>>2] >> ((i&3)<<1)) & 3 ;
74 {
char &st_byte = constraintStatus_[i>>2] ;
75 st_byte =
static_cast<char>(st_byte & ~(3 << ((i&3)<<1))) ;
76 st_byte =
static_cast<char>(st_byte | (st << ((i&3)<<1))) ; }
91 {
return (constraintStatus_) ; }
180 const char *aStat,
const char *cStat = 0) ;
205 (
int ns,
int na,
char *&sStat,
char *&aStat,
char *&cStat) ;
210 (
int ns,
int na,
char *&sStat,
char *&aStat) ;
235 char *constraintStatus_ ;
280 {
delete[] condiffNdxs_ ;
281 delete[] condiffVals_ ; }
292 const unsigned int *
const diffVals,
318 unsigned int *condiffNdxs_ ;
322 unsigned int *condiffVals_ ;
std::vector< XferEntry > XferVec
A ‘diff’ between two OsiDylpWarmStartBasis objects.
virtual OsiDylpWarmStartBasisDiff & operator=(const OsiDylpWarmStartBasisDiff &rhs)
Assignment.
virtual CoinWarmStartDiff * clone() const
‘Virtual constructor’
virtual ~OsiDylpWarmStartBasisDiff()
Destructor.
The dylp warm start class.
OsiDylpWarmStartBasis(const CoinWarmStartBasis &cwsb)
Construct an OsiDylpWarmStartBasis from a CoinWarmStartBasis.
void setPhase(dyphase_enum phase)
Set the lp phase for this basis.
CoinWarmStart * clone() const
‘Virtual constructor’
Status getConStatus(int i) const
Return the status of the specified constraint.
void assignBasisStatus(int ns, int na, char *&sStat, char *&aStat, char *&cStat)
Assign the status vectors to be the warm start information.
int numberActiveConstraints() const
Return the number of active constraints.
const char * getConstraintStatus() const
const overload for getConstraintStatus()
char * getConstraintStatus()
Return the status array for constraints.
void setSize(int ns, int na)
Set basis capacity; existing basis is discarded.
void setConStatus(int i, Status st)
Set the status of the specified constraint.
void deleteRows(int number, const int *which)
Delete a set of rows from the basis.
virtual void mergeBasis(const CoinWarmStartBasis *src, const XferVec *xferRows, const XferVec *xferCols)
Merge entries from a source basis into this basis.
OsiDylpWarmStartBasis()
Default constructor (empty object)
void compressRows(int tgtCnt, const int *tgts)
Delete a set of rows from the basis.
void resize(int numRows, int numCols)
Set basis capacity; existing basis is maintained.
void applyDiff(const CoinWarmStartDiff *const cwsdDiff)
Apply diff to this basis.
void assignBasisStatus(int ns, int na, char *&sStat, char *&aStat)
Assign the status vectors to be the warm start information.
CoinWarmStartDiff * generateDiff(const CoinWarmStart *const oldCWS) const
Generate a ‘diff’ that can convert oldBasis to this basis.
OsiDylpWarmStartBasis & operator=(const OsiDylpWarmStartBasis &rhs)
Assignment.
dyphase_enum getPhase() const
Get the lp phase for this basis.
OsiDylpWarmStartBasis(int ns, int na, const char *sStat, const char *aStat, const char *cStat=0)
Constructs a warm start object with the specified status arrays.
OsiDylpWarmStartBasis(const OsiDylpWarmStartBasis &ws)
Copy constructor.
void print() const
Prints in readable format (for debug)
void checkBasis(CoinMessageHandler *msghandler=NULL) const
Performs basis consistency checks (for debug)
~OsiDylpWarmStartBasis()
Destructor.