6#ifndef ClpDynamicExampleMatrix_H
7#define ClpDynamicExampleMatrix_H
9#include "CoinPragma.hpp"
39 int &bestSequence,
int &numberWanted);
49 virtual void packDown(
const int *in,
int numberToPack);
64 const double *lower,
const double *upper,
68 const unsigned char *status = NULL,
70 int numberIds = 0,
const int *ids = NULL);
75 const double * lower,
const double * upper,
79 const unsigned char * status = NULL,
81 int numberIds = 0,
const int *ids = NULL);
145 st_byte =
static_cast< unsigned char >(st_byte & ~7);
146 st_byte =
static_cast< unsigned char >(st_byte | status);
DynamicStatus getDynamicStatusGen(int sequence) const
virtual ~ClpDynamicExampleMatrix()
Destructor.
void setDynamicStatusGen(int sequence, DynamicStatus status)
CoinBigIndex * fullStartGen() const
full starts
int numberColumns() const
size
virtual void packDown(const int *in, int numberToPack)
If addColumn forces compression then this allows descendant to know what to do.
double * elementGen_
elements
int * idGen() const
ids in next level matrix
virtual ClpMatrixBase * clone() const
Clone.
double * columnUpperGen() const
Optional upper bounds on columns.
unsigned char * dynamicStatusGen_
for status and which bound
CoinBigIndex * fullStartGen_
start of each set
ClpDynamicExampleMatrix()
Default constructor.
int * idGen_
identifier for each variable up one level (startColumn_, etc).
ClpDynamicExampleMatrix & operator=(const ClpDynamicExampleMatrix &)
double * costGen() const
costs
double * columnUpperGen_
Optional upper bounds on columns.
double * columnLowerGen_
Optional lower bounds on columns.
ClpDynamicExampleMatrix(const ClpDynamicExampleMatrix &)
The copy constructor.
bool flaggedGen(int i) const
Whether flagged.
CoinBigIndex * startColumnGen_
Starts of each column.
void setFlaggedGen(int i)
double * columnLowerGen() const
Optional lower bounds on columns.
virtual void partialPricing(ClpSimplex *model, double start, double end, int &bestSequence, int &numberWanted)
Partial pricing.
ClpDynamicExampleMatrix(ClpSimplex *model, int numberSets, int numberColumns, const CoinBigIndex *starts, const double *lower, const double *upper, const CoinBigIndex *startColumn, const int *row, const double *element, const double *cost, const double *columnLower=NULL, const double *columnUpper=NULL, const unsigned char *status=NULL, const unsigned char *dynamicStatus=NULL, int numberIds=0, const int *ids=NULL)
This is the real constructor.
double * elementGen() const
elements
CoinBigIndex * startColumnGen() const
Starts of each column.
virtual void createVariable(ClpSimplex *model, int &bestSequence)
Creates a variable.
DynamicStatus
enums for status of various sorts
double columnUpper(int sequence) const
Gets upper bound (to simplify coding)
double columnLower(int sequence) const
Gets lower bound (to simplify coding)
ClpDynamicMatrix()
Default constructor.
double * cost() const
costs
int numberSets() const
Number of sets (dynamic rows)
unsigned char * dynamicStatus() const
Status region for gub variables.
double * element() const
elements
CoinBigIndex * startColumn() const
Starts of each column.
ClpMatrixBase()
Default constructor.
This solves LPs using the simplex method.