269 const double *collb,
const double *colub,
271 const double *rowlb,
const double *rowub,
272 bool makeRowCopy =
false);
305 void setColLower(
const double *array,
bool copyIn =
true);
308 void setColUpper(
const double *array,
bool copyIn =
true);
311 void setRowLower(
const double *array,
bool copyIn =
true);
314 void setRowUpper(
const double *array,
bool copyIn =
true);
345 void setColType(
const char *array,
bool copyIn =
true);
366 void setRowPrice(
const double *array,
bool copyIn =
true);
549 unsigned int colLower : 1;
550 unsigned int colUpper : 1;
551 unsigned int rowLower : 1;
552 unsigned int rowUpper : 1;
553 unsigned int rightHandSide : 1;
554 unsigned int objCoefficients : 1;
555 unsigned int colType : 1;
556 unsigned int matrixByRow : 1;
557 unsigned int matrixByCol : 1;
558 unsigned int originalMatrixByRow : 1;
559 unsigned int originalMatrixByCol : 1;
560 unsigned int colSolution : 1;
561 unsigned int rowPrice : 1;
562 unsigned int reducedCost : 1;
563 unsigned int rowActivity : 1;
564 unsigned int doNotSeparateThis : 1;
double getIntegerLowerBound() const
Get integer lower bound i.e. best possible solution * getObjSense.
const double * rightHandSide_
pointer to array[getNumRows()] of rhs side values
double integerTolerance_
integer tolerance
int getNumRows() const
Get number of rows.
void setObjSense(double value)
Set objective function sense (1 for min (default), -1 for max)
double primalTolerance_
primal tolerance
const double * getRowPrice() const
Get pointer to array[getNumRows()] of dual variable values.
int getNumCols() const
Get number of columns.
double objValue_
objective function value (including any rhs offset)
const double * getRowUpper() const
Get pointer to array[getNumRows()] of row upper bounds.
const double * rowActivity_
pointer to array[getNumRows()] of row activity levels (constraint matrix times the solution vector)...
const double * doNotSeparateThis_
pointer to array[getNumCols()] of primal variable values which should not be separated (for debug) ...
double integerUpperBound_
integer upper bound i.e. best solution * getObjSense
const double * getRowLower() const
Get pointer to array[getNumRows()] of row lower bounds.
const double * getColLower() const
Get pointer to array[getNumCols()] of column lower bounds.
void setIntegerLowerBound(double value)
Set integer lower bound i.e. best possible solution * getObjSense.
const CoinPackedMatrix * getOriginalMatrixByCol() const
Get pointer to column-wise copy of "original" matrix.
To say whether arrays etc are owned by CoinSnapshot.
void setObjCoefficients(const double *array, bool copyIn=true)
Set pointer to array[getNumCols()] of objective function coefficients.
void setIntegerUpperBound(double value)
Set integer upper bound i.e. best solution * getObjSense.
void setMatrixByCol(const CoinPackedMatrix *matrix, bool copyIn=true)
Set pointer to column-wise copy of current matrix.
int numRows_
number of rows
const double * getRightHandSide() const
Get pointer to array[getNumRows()] of row right-hand sides This gives same results as OsiSolverInterf...
const double * colUpper_
pointer to array[getNumCols()] of column upper bounds
double getObjOffset() const
Get objective offset i.e. sum c sub j * x subj -objValue = objOffset.
void setOriginalMatrixByCol(const CoinPackedMatrix *matrix, bool copyIn=true)
Set pointer to column-wise copy of "original" matrix.
const CoinPackedMatrix * matrixByRow_
pointer to row-wise copy of current matrix
const CoinPackedMatrix * getOriginalMatrixByRow() const
Get pointer to row-wise copy of "original" matrix.
void setDoNotSeparateThis(const double *array, bool copyIn=true)
Set pointer to array[getNumCols()] of primal variable values which should not be separated (for debug...
Sparse Matrix Base Class.
void setOriginalMatrixByRow(const CoinPackedMatrix *matrix, bool copyIn=true)
Set pointer to row-wise copy of "original" matrix.
void setColUpper(const double *array, bool copyIn=true)
Set pointer to array[getNumCols()] of column upper bounds.
const double * getReducedCost() const
Get a pointer to array[getNumCols()] of reduced costs.
double getPrimalTolerance() const
Get primal tolerance.
void setNumElements(int value)
Set number of nonzero elements.
bool isInteger(int colIndex) const
Return true if column is integer.
bool isIntegerNonBinary(int colIndex) const
Return true if variable is general integer.
void gutsOfDestructor(int type)
Does main work of destructor - type (or'ed) 1 - NULLify pointers 2 - delete pointers 4 - initialize s...
double dualTolerance_
dual tolerance
CoinSnapshot & operator=(const CoinSnapshot &rhs)
Assignment operator.
const CoinPackedMatrix * matrixByCol_
pointer to column-wise copy of current matrix
void loadProblem(const CoinPackedMatrix &matrix, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub, bool makeRowCopy=false)
Load in an problem by copying the arguments (the constraints on the rows are given by lower and upper...
coinOwned owned_
objective function sense (1 for min (default), -1 for max)
double objOffset_
objective offset i.e. sum c sub j * x subj -objValue = objOffset
void setColSolution(const double *array, bool copyIn=true)
Set pointer to array[getNumCols()] of primal variable values.
void setIntegerTolerance(double value)
Set integer tolerance.
void setObjValue(double value)
Set objective function value (including any rhs offset)
const double * getDoNotSeparateThis() const
Get pointer to array[getNumCols()] of primal variable values which should not be separated (for debug...
const char * getColType() const
Get colType array ('B', 'I', or 'C' for Binary, Integer and Continuous)
double integerLowerBound_
integer lower bound i.e. best possible solution * getObjSense
const double * rowLower_
pointer to array[getNumRows()] of row lower bounds
int numIntegers_
number of integer variables
void setDualTolerance(double value)
Set dual tolerance.
int numElements_
number of nonzero elements
const double * colLower_
pointer to array[getNumCols()] of column lower bounds
const double * objCoefficients_
pointer to array[getNumCols()] of objective function coefficients
const CoinPackedMatrix * getMatrixByCol() const
Get pointer to column-wise copy of current matrix.
const CoinPackedMatrix * getMatrixByRow() const
Get pointer to row-wise copy of current matrix.
int getNumElements() const
Get number of nonzero elements.
void setRowLower(const double *array, bool copyIn=true)
Set pointer to array[getNumRows()] of row lower bounds.
void setRowUpper(const double *array, bool copyIn=true)
Set pointer to array[getNumRows()] of row upper bounds.
void setObjOffset(double value)
Set objective offset i.e. sum c sub j * x subj -objValue = objOffset.
bool isContinuous(int colIndex) const
Return true if variable is continuous.
void setRightHandSide(const double *array, bool copyIn=true)
Set pointer to array[getNumRows()] of row right-hand sides This gives same results as OsiSolverInterf...
void setMatrixByRow(const CoinPackedMatrix *matrix, bool copyIn=true)
Set pointer to row-wise copy of current matrix.
const char * colType_
colType array ('B', 'I', or 'C' for Binary, Integer and Continuous)
const double * getRowActivity() const
Get pointer to array[getNumRows()] of row activity levels (constraint matrix times the solution vecto...
double getDualTolerance() const
Get dual tolerance.
double getObjSense() const
Get objective function sense (1 for min (default), -1 for max)
int numCols_
number of columns
double getIntegerUpperBound() const
Get integer upper bound i.e. best solution * getObjSense.
const double * reducedCost_
a pointer to array[getNumCols()] of reduced costs
void setReducedCost(const double *array, bool copyIn=true)
Set a pointer to array[getNumCols()] of reduced costs.
double getObjValue() const
Get objective function value - includinbg any offset i.e.
NON Abstract Base Class for interfacing with cut generators or branching code or .
void createRightHandSide()
Create array[getNumRows()] of row right-hand sides using existing information This gives same results...
void setRowActivity(const double *array, bool copyIn=true)
Set pointer to array[getNumRows()] of row activity levels (constraint matrix times the solution vecto...
void setNumIntegers(int value)
Set number of integer variables.
const double * rowUpper_
pointer to array[getNumRows()] of row upper bounds
const double * colSolution_
pointer to array[getNumCols()] of primal variable values
void setInfinity(double value)
Set solver's value for infinity.
void gutsOfCopy(const CoinSnapshot &rhs)
Does main work of copy.
double objSense_
objective function sense (1 for min (default), -1 for max)
const double * getObjCoefficients() const
Get pointer to array[getNumCols()] of objective function coefficients.
const double * rowPrice_
pointer to array[getNumRows()] of dual variable values
void setPrimalTolerance(double value)
Set primal tolerance.
double getIntegerTolerance() const
Get integer tolerance.
CoinSnapshot()
Default Constructor.
void setColType(const char *array, bool copyIn=true)
Set colType array ('B', 'I', or 'C' for Binary, Integer and Continuous)
virtual ~CoinSnapshot()
Destructor.
int getNumIntegers() const
Get number of integer variables.
const double * getColSolution() const
Get pointer to array[getNumCols()] of primal variable values.
void setNumCols(int value)
Set number of columns.
const CoinPackedMatrix * originalMatrixByRow_
pointer to row-wise copy of "original" matrix
const CoinPackedMatrix * originalMatrixByCol_
pointer to column-wise copy of "original" matrix
void createMatrixByRow()
Create row-wise copy from MatrixByCol.
const double * getColUpper() const
Get pointer to array[getNumCols()] of column upper bounds.
bool isBinary(int colIndex) const
Return true if variable is binary.
void setRowPrice(const double *array, bool copyIn=true)
Set pointer to array[getNumRows()] of dual variable values.
double infinity_
solver's value for infinity
void setColLower(const double *array, bool copyIn=true)
Set pointer to array[getNumCols()] of column lower bounds.
void setNumRows(int value)
Set number of rows.
bool isFreeBinary(int colIndex) const
Return true if variable is binary and not fixed at either bound.
double getInfinity() const
Get solver's value for infinity.