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);
This implements a dynamic matrix when we have a limit on the number of "interesting rows".
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.
This implements a dynamic matrix when we have a limit on the number of "interesting rows".
double * columnUpper() const
Optional upper bounds on columns.
DynamicStatus
enums for status of various sorts
double * columnLower() const
Optional lower bounds on columns.
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.
Abstract base class for Clp Matrices.
This solves LPs using the simplex method.