6 #ifndef ClpGubDynamicMatrix_H
7 #define ClpGubDynamicMatrix_H
26 int &bestSequence,
int &numberWanted);
56 virtual void times(
double scalar,
57 const double *x,
double *y)
const;
83 int numberColumns,
const int *starts,
88 const unsigned char *status = NULL);
118 st_byte =
static_cast< unsigned char >(st_byte & ~7);
119 st_byte =
static_cast< unsigned char >(st_byte | status);
156 inline int *
id()
const
double * lowerSet() const
Optional true lower bounds on sets.
bool flagged(int i) const
Whether flagged.
int whichSet(int sequence) const
Returns which set a variable is in.
double * cost() const
costs
void setDynamicStatus(int sequence, DynamicStatus status)
enums for status of various sorts
virtual void useEffectiveRhs(ClpSimplex *model, bool cheapest=true)
Sets up an effective RHS and does gub crash if needed.
This implements Gub rows plus a ClpPackedMatrix.
int firstAvailable_
first free
double * lowerColumn_
Optional lower bounds on columns.
void unsetFlagged(int i)
enums for status of various sorts
double * element_
elements
int firstDynamic() const
first dynamic
virtual void partialPricing(ClpSimplex *model, double start, double end, int &bestSequence, int &numberWanted)
Partial pricing.
ClpGubDynamicMatrix()
Default constructor.
int numberGubColumns_
size
void setFirstAvailable(int value)
set first free
double * upperSet_
Optional true upper bounds on sets.
DynamicStatus getDynamicStatus(int sequence) const
enums for status of various sorts
double * lowerSet_
Optional true lower bounds on sets.
double * upperColumn_
Optional upper bounds on columns.
virtual ~ClpGubDynamicMatrix()
Destructor.
double * upperColumn() const
Optional upper bounds on columns.
virtual void times(double scalar, const double *x, double *y) const
Return y + A * scalar *x in y.
void setFlagged(int i)
enums for status of various sorts
double objectiveOffset_
Saved value of objective offset.
double * lowerColumn() const
Optional lower bounds on columns.
Constant sum(const MP_domain &i, const Constant &e)
Returns the sum of two constants.
CoinBigIndex numberElements() const
size of working matrix (max)
unsigned char * gubRowStatus() const
Status region for gub slacks.
int * start() const
Starts.
CoinBigIndex * startColumn_
Starts of each column.
virtual double * rhsOffset(ClpSimplex *model, bool forceRefresh=false, bool check=false)
Returns effective RHS offset if it is being used.
double * upper() const
Upper bounds on sets.
ClpGubDynamicMatrix & operator=(const ClpGubDynamicMatrix &)
The copy constructor.
CoinBigIndex * startColumn() const
Starts of each column.
int numberSets() const
Number of sets (gub rows)
unsigned char * dynamicStatus() const
Status region for gub variables.
int lastDynamic_
number of columns in dynamic model
int * fullStart() const
full starts
virtual void times(double scalar, const double *x, double *y) const
Return y + A * scalar *x in y.
double objectiveOffset() const
Saved value of objective offset.
virtual int updatePivot(ClpSimplex *model, double oldInValue, double oldOutValue)
update information for a pivot (and effective rhs)
int firstDynamic_
first dynamic
virtual int synchronize(ClpSimplex *model, int mode)
This is local to Gub to allow synchronization: mode=0 when status of basis is good mode=1 when variab...
CoinBigIndex numberElements_
size of working matrix (max)
int savedFirstAvailable_
saved first free
This solves LPs using the simplex method.
unsigned char * status_
Status of slacks.
Abstract base class for Clp Matrices.
DynamicStatus
enums for status of various sorts
int * fullStart_
full starts
int firstAvailable() const
first free
void insertNonBasic(int sequence, int iSet)
Add a new variable to a set.
virtual int checkFeasible(ClpSimplex *model, double &sum) const
Just for debug Returns sum and number of primal infeasibilities.
double * element() const
elements
int numberGubColumns() const
size
virtual ClpMatrixBase * clone() const
Clone.
double * upperSet() const
Optional true upper bounds on sets.
unsigned char * dynamicStatus_
for status and which bound
This implements Gub rows plus a ClpPackedMatrix.
int lastDynamic() const
number of columns in dynamic model
int * id_
ids of active columns (just index here)
double * lower() const
Lower bounds on sets.
int * id() const
ids of active columns (just index here)
void cleanData(ClpSimplex *model)
Cleans data after setWarmStart.