coin-Bcp
List of all members
BCP_lp_relax Class Reference

An object of type BCP_lp_relax holds the description of an lp relaxation. More...

#include <BCP_matrix.hpp>

Inheritance diagram for BCP_lp_relax:
Inheritance graph
[legend]
Collaboration diagram for BCP_lp_relax:
Collaboration graph
[legend]

Public Member Functions

Query methods
size_t colnum () const
 The number of columns. More...
 
size_t rownum () const
 The number of rows. More...
 
const BCP_vec< double > & Objective () const
 A const reference to the vector of objective coefficients. More...
 
const BCP_vec< double > & ColLowerBound () const
 A const reference to the vector of lower bounds on the variables. More...
 
const BCP_vec< double > & ColUpperBound () const
 A const reference to the vector of upper bounds on the variables. More...
 
const BCP_vec< double > & RowLowerBound () const
 A const reference to the vector of lower bounds on the cuts. More...
 
const BCP_vec< double > & RowUpperBound () const
 A const reference to the vector of upper bounds on the cuts. More...
 
Methods modifying the whole LP relaxation.
BCP_lp_relaxoperator= (const BCP_lp_relax &mat)
 Copy the content of x into the LP relaxation. More...
 
void reserve (const int MaxColNum, const int MaxRowNum, const int MaxNonzeros)
 Reserve space in the LP relaxation for at least MaxColNum columns, MaxRowNum rows and MaxNonzeros nonzero entries. More...
 
void clear ()
 Clear the LP relaxation. More...
 
void copyOf (const CoinPackedMatrix &m, const double *OBJ, const double *CLB, const double *CUB, const double *RLB, const double *RUB)
 Set up the LP relaxation by making a copy of the arguments. More...
 
void assign (CoinPackedMatrix &m, double *&OBJ, double *&CLB, double *&CUB, double *&RLB, double *&RUB)
 Set up the LP relaxation by taking over the pointers in the arguments. More...
 
Methods for expanding/shrinking the LP relaxation.
void erase_col_set (const BCP_vec< int > &pos)
 Remove the columns whose indices are listed in pos from the LP relaxation. More...
 
void erase_row_set (const BCP_vec< int > &pos)
 Remove the rows whose indices are listed in pos from the LP relaxation. More...
 
Packing/unpacking
void pack (BCP_buffer &buf) const
 Pack the LP relaxation into the buffer. More...
 
void unpack (BCP_buffer &buf)
 Unpack the LP relaxation from the buffer. More...
 
Constructors and destructor
 BCP_lp_relax (const bool colordered=true)
 Create an empty LP relaxation with given ordering. More...
 
 BCP_lp_relax (const BCP_lp_relax &mat)
 The copy constructor makes a copy of the argument LP relaxation. More...
 
 BCP_lp_relax (BCP_vec< BCP_row * > &rows, BCP_vec< double > &CLB, BCP_vec< double > &CUB, BCP_vec< double > &OBJ)
 Create a row major ordered LP relaxation by assigning the content of the arguments to the LP relaxation. More...
 
 BCP_lp_relax (BCP_vec< BCP_row * > &rows, BCP_vec< double > &CLB, BCP_vec< double > &CUB, BCP_vec< double > &OBJ, double extra_gap, double extra_major)
 Same as the previous method except that this method allows extra_gap and extra_major to be specified. More...
 
 BCP_lp_relax (BCP_vec< BCP_col * > &cols, BCP_vec< double > &RLB, BCP_vec< double > &RUB)
 Create a column major ordered LP relaxation by assigning the content of the arguments to the LP relaxation. More...
 
 BCP_lp_relax (BCP_vec< BCP_col * > &cols, BCP_vec< double > &RLB, BCP_vec< double > &RUB, double extra_gap, double extra_major)
 Same as the previous method except that this method allows extra_gap and extra_major to be specified. More...
 
 BCP_lp_relax (const bool colordered, const BCP_vec< int > &VB, const BCP_vec< int > &EI, const BCP_vec< double > &EV, const BCP_vec< double > &OBJ, const BCP_vec< double > &CLB, const BCP_vec< double > &CUB, const BCP_vec< double > &RLB, const BCP_vec< double > &RUB)
 Create an LP relaxation of the given ordering by copying the content of the arguments to the LP relaxation. More...
 
 BCP_lp_relax (const bool colordered, const int rownum, const int colnum, const int nznum, int *&VB, int *&EI, double *&EV, double *&OBJ, double *&CLB, double *&CUB, double *&RLB, double *&RUB)
 Create an LP relaxation of the given ordering by assigning the content of the arguments to the LP relaxation. More...
 
 ~BCP_lp_relax ()
 The destructor deletes the data members. More...
 
- Public Member Functions inherited from CoinPackedMatrix
double getExtraGap () const
 Return the current setting of the extra gap. More...
 
double getExtraMajor () const
 Return the current setting of the extra major. More...
 
void reserve (const int newMaxMajorDim, const CoinBigIndex newMaxSize, bool create=false)
 Reserve sufficient space for appending major-ordered vectors. More...
 
void clear ()
 Clear the data, but do not free any arrays. More...
 
bool isColOrdered () const
 Whether the packed matrix is column major ordered or not. More...
 
bool hasGaps () const
 Whether the packed matrix has gaps or not. More...
 
CoinBigIndex getNumElements () const
 Number of entries in the packed matrix. More...
 
int getNumCols () const
 Number of columns. More...
 
int getNumRows () const
 Number of rows. More...
 
const double * getElements () const
 A vector containing the elements in the packed matrix. More...
 
const int * getIndices () const
 A vector containing the minor indices of the elements in the packed matrix. More...
 
int getSizeVectorStarts () const
 The size of the vectorStarts array. More...
 
int getSizeVectorLengths () const
 The size of the vectorLengths array. More...
 
const CoinBigIndexgetVectorStarts () const
 The positions where the major-dimension vectors start in elements and indices. More...
 
const int * getVectorLengths () const
 The lengths of the major-dimension vectors. More...
 
CoinBigIndex getVectorFirst (const int i) const
 The position of the first element in the i'th major-dimension vector. More...
 
CoinBigIndex getVectorLast (const int i) const
 The position of the last element (well, one entry past the last) in the i'th major-dimension vector. More...
 
int getVectorSize (const int i) const
 The length of i'th vector. More...
 
const CoinShallowPackedVector getVector (int i) const
 Return the i'th vector in matrix. More...
 
int * getMajorIndices () const
 Returns an array containing major indices. More...
 
void setDimensions (int numrows, int numcols)
 Set the dimensions of the matrix. More...
 
void setExtraGap (const double newGap)
 Set the extra gap to be allocated to the specified value. More...
 
void setExtraMajor (const double newMajor)
 Set the extra major to be allocated to the specified value. More...
 
void appendCol (const CoinPackedVectorBase &vec)
 
void appendCol (const int vecsize, const int *vecind, const double *vecelem)
 
void appendCols (const int numcols, const CoinPackedVectorBase *const *cols)
 
int appendCols (const int numcols, const CoinBigIndex *columnStarts, const int *row, const double *element, int numberRows=-1)
 
void appendRow (const CoinPackedVectorBase &vec)
 
void appendRow (const int vecsize, const int *vecind, const double *vecelem)
 
void appendRows (const int numrows, const CoinPackedVectorBase *const *rows)
 
int appendRows (const int numrows, const CoinBigIndex *rowStarts, const int *column, const double *element, int numberColumns=-1)
 
void rightAppendPackedMatrix (const CoinPackedMatrix &matrix)
 Append the argument to the "right" of the current matrix. More...
 
void bottomAppendPackedMatrix (const CoinPackedMatrix &matrix)
 Append the argument to the "bottom" of the current matrix. More...
 
void deleteCols (const int numDel, const int *indDel)
 Delete the columns whose indices are listed in indDel. More...
 
void deleteRows (const int numDel, const int *indDel)
 Delete the rows whose indices are listed in indDel. More...
 
void replaceVector (const int index, const int numReplace, const double *newElements)
 Replace the elements of a vector. More...
 
void modifyCoefficient (int row, int column, double newElement, bool keepZero=false)
 Modify one element of packed matrix. More...
 
double getCoefficient (int row, int column) const
 Return one element of packed matrix. More...
 
CoinBigIndex compress (double threshold)
 Eliminate all elements in matrix whose absolute value is less than threshold. More...
 
CoinBigIndex eliminateDuplicates (double threshold)
 Eliminate all duplicate AND small elements in matrix The column starts are not affected. More...
 
void orderMatrix ()
 Sort all columns so indices are increasing.in each column. More...
 
CoinBigIndex cleanMatrix (double threshold=1.0e-20)
 Really clean up matrix. More...
 
void removeGaps (double removeValue=-1.0)
 Remove the gaps from the matrix if there were any Can also remove small elements fabs() <= removeValue. More...
 
void submatrixOf (const CoinPackedMatrix &matrix, const int numMajor, const int *indMajor)
 Extract a submatrix from matrix. More...
 
void submatrixOfWithDuplicates (const CoinPackedMatrix &matrix, const int numMajor, const int *indMajor)
 Extract a submatrix from matrix. More...
 
void copyOf (const CoinPackedMatrix &rhs)
 Copy method. More...
 
void copyOf (const bool colordered, const int minor, const int major, const CoinBigIndex numels, const double *elem, const int *ind, const CoinBigIndex *start, const int *len, const double extraMajor=0.0, const double extraGap=0.0)
 Copy the arguments to the matrix. More...
 
void copyReuseArrays (const CoinPackedMatrix &rhs)
 Copy method. More...
 
void reverseOrderedCopyOf (const CoinPackedMatrix &rhs)
 Make a reverse-ordered copy. More...
 
void assignMatrix (const bool colordered, const int minor, const int major, const CoinBigIndex numels, double *&elem, int *&ind, CoinBigIndex *&start, int *&len, const int maxmajor=-1, const CoinBigIndex maxsize=-1)
 Assign the arguments to the matrix. More...
 
CoinPackedMatrixoperator= (const CoinPackedMatrix &rhs)
 Assignment operator. More...
 
void reverseOrdering ()
 Reverse the ordering of the packed matrix. More...
 
void transpose ()
 Transpose the matrix. More...
 
void swap (CoinPackedMatrix &matrix)
 Swap the content of two packed matrices. More...
 
void times (const double *x, double *y) const
 Return A * x in y. More...
 
void times (const CoinPackedVectorBase &x, double *y) const
 Return A * x in y. More...
 
void transposeTimes (const double *x, double *y) const
 Return x * A in y. More...
 
void transposeTimes (const CoinPackedVectorBase &x, double *y) const
 Return x * A in y. More...
 
int * countOrthoLength () const
 Count the number of entries in every minor-dimension vector and return an array containing these lengths. More...
 
void countOrthoLength (int *counts) const
 Count the number of entries in every minor-dimension vector and fill in an array containing these lengths. More...
 
int getMajorDim () const
 Major dimension. More...
 
void setMajorDim (int value)
 Set major dimension. More...
 
int getMinorDim () const
 Minor dimension. More...
 
void setMinorDim (int value)
 Set minor dimension. More...
 
int getMaxMajorDim () const
 Current maximum for major dimension. More...
 
void dumpMatrix (const char *fname=NULL) const
 Dump the matrix on stdout. More...
 
void printMatrixElement (const int row_val, const int col_val) const
 Print a single matrix element. More...
 
void appendMajorVector (const CoinPackedVectorBase &vec)
 Append a major-dimension vector to the end of the matrix. More...
 
void appendMajorVector (const int vecsize, const int *vecind, const double *vecelem)
 Append a major-dimension vector to the end of the matrix. More...
 
void appendMajorVectors (const int numvecs, const CoinPackedVectorBase *const *vecs)
 Append several major-dimensonvectors to the end of the matrix. More...
 
void appendMinorVector (const CoinPackedVectorBase &vec)
 Append a minor-dimension vector to the end of the matrix. More...
 
void appendMinorVector (const int vecsize, const int *vecind, const double *vecelem)
 Append a minor-dimension vector to the end of the matrix. More...
 
void appendMinorVectors (const int numvecs, const CoinPackedVectorBase *const *vecs)
 Append several minor-dimension vectors to the end of the matrix. More...
 
void appendMinorFast (const int number, const CoinBigIndex *starts, const int *index, const double *element)
 Append a set of rows (columns) to the end of a column (row) ordered matrix. More...
 
void majorAppendSameOrdered (const CoinPackedMatrix &matrix)
 Append the columns of the argument to the right end of this matrix. More...
 
void minorAppendSameOrdered (const CoinPackedMatrix &matrix)
 Append the columns of the argument to the bottom end of this matrix. More...
 
void majorAppendOrthoOrdered (const CoinPackedMatrix &matrix)
 Append the rows of the argument to the right end of this matrix. More...
 
void minorAppendOrthoOrdered (const CoinPackedMatrix &matrix)
 Append the rows of the argument to the bottom end of this matrix. More...
 
void deleteMajorVectors (const int numDel, const int *indDel)
 Delete the major-dimension vectors whose indices are listed in indDel. More...
 
void deleteMinorVectors (const int numDel, const int *indDel)
 Delete the minor-dimension vectors whose indices are listed in indDel. More...
 
void timesMajor (const double *x, double *y) const
 Return A * x (multiplied from the "right" direction) in y. More...
 
void timesMajor (const CoinPackedVectorBase &x, double *y) const
 Return A * x (multiplied from the "right" direction) in y. More...
 
void timesMinor (const double *x, double *y) const
 Return A * x (multiplied from the "right" direction) in y. More...
 
void timesMinor (const CoinPackedVectorBase &x, double *y) const
 Return A * x (multiplied from the "right" direction) in y. More...
 
template<class FloatEqual >
bool isEquivalent (const CoinPackedMatrix &rhs, const FloatEqual &eq) const
 Test for equivalence. More...
 
bool isEquivalent2 (const CoinPackedMatrix &rhs) const
 Test for equivalence and report differences. More...
 
bool isEquivalent (const CoinPackedMatrix &rhs) const
 Test for equivalence. More...
 
double * getMutableElements () const
 A vector containing the elements in the packed matrix. More...
 
int * getMutableIndices () const
 A vector containing the minor indices of the elements in the packed matrix. More...
 
CoinBigIndexgetMutableVectorStarts () const
 The positions where the major-dimension vectors start in element_ and index_. More...
 
int * getMutableVectorLengths () const
 The lengths of the major-dimension vectors. More...
 
void setNumElements (CoinBigIndex value)
 Change the size of the bulk store after modifying - be careful. More...
 
void nullElementArray ()
 
void nullStartArray ()
 
void nullLengthArray ()
 
void nullIndexArray ()
 
 CoinPackedMatrix ()
 Default Constructor creates an empty column ordered packed matrix. More...
 
 CoinPackedMatrix (const bool colordered, const double extraMajor, const double extraGap)
 A constructor where the ordering and the gaps are specified. More...
 
 CoinPackedMatrix (const bool colordered, const int minor, const int major, const CoinBigIndex numels, const double *elem, const int *ind, const CoinBigIndex *start, const int *len, const double extraMajor, const double extraGap)
 Default Constructor creates an empty column ordered packed matrix. More...
 
 CoinPackedMatrix (const bool colordered, const int minor, const int major, const CoinBigIndex numels, const double *elem, const int *ind, const CoinBigIndex *start, const int *len)
 Default Constructor creates an empty column ordered packed matrix. More...
 
 CoinPackedMatrix (const bool colordered, const int *rowIndices, const int *colIndices, const double *elements, CoinBigIndex numels)
 Create packed matrix from triples. More...
 
 CoinPackedMatrix (const CoinPackedMatrix &m)
 Copy constructor. More...
 
 CoinPackedMatrix (const CoinPackedMatrix &m, int extraForMajor, int extraElements, bool reverseOrdering=false)
 Copy constructor with fine tuning. More...
 
 CoinPackedMatrix (const CoinPackedMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns)
 Subset constructor (without gaps). More...
 
virtual ~CoinPackedMatrix ()
 Destructor. More...
 
int verifyMtx (int verbosity=1, bool zeroesAreError=false) const
 Scan the matrix for anomalies. More...
 

Private Member Functions

helper functions for the constructors
void BCP_createColumnOrderedMatrix (BCP_vec< BCP_row * > &rows, BCP_vec< double > &CLB, BCP_vec< double > &CUB, BCP_vec< double > &OBJ)
 
void BCP_createRowOrderedMatrix (BCP_vec< BCP_col * > &cols, BCP_vec< double > &RLB, BCP_vec< double > &RUB)
 

Private Attributes

Data members
BCP_vec< double > _Objective
 The objective coefficients of the variables. More...
 
BCP_vec< double > _ColLowerBound
 The lower bounds on the variables. More...
 
BCP_vec< double > _ColUpperBound
 The upper bounds on the variables. More...
 
BCP_vec< double > _RowLowerBound
 The lower bounds on the cuts. More...
 
BCP_vec< double > _RowUpperBound
 The upper bounds on the cuts. More...
 

Additional Inherited Members

- Protected Member Functions inherited from CoinPackedMatrix
void gutsOfDestructor ()
 
void gutsOfCopyOf (const bool colordered, const int minor, const int major, const CoinBigIndex numels, const double *elem, const int *ind, const CoinBigIndex *start, const int *len, const double extraMajor=0.0, const double extraGap=0.0)
 
void gutsOfCopyOfNoGaps (const bool colordered, const int minor, const int major, const double *elem, const int *ind, const CoinBigIndex *start)
 When no gaps we can do faster. More...
 
void gutsOfOpEqual (const bool colordered, const int minor, const int major, const CoinBigIndex numels, const double *elem, const int *ind, const CoinBigIndex *start, const int *len)
 
void resizeForAddingMajorVectors (const int numVec, const int *lengthVec)
 
void resizeForAddingMinorVectors (const int *addedEntries)
 
int appendMajor (const int number, const CoinBigIndex *starts, const int *index, const double *element, int numberOther=-1)
 Append a set of rows (columns) to the end of a row (colum) ordered matrix. More...
 
int appendMinor (const int number, const CoinBigIndex *starts, const int *index, const double *element, int numberOther=-1)
 Append a set of rows (columns) to the end of a column (row) ordered matrix. More...
 
- Protected Attributes inherited from CoinPackedMatrix
bool colOrdered_
 A flag indicating whether the matrix is column or row major ordered. More...
 
double extraGap_
 This much times more space should be allocated for each major-dimension vector (with respect to the number of entries in the vector) when the matrix is resized. More...
 
double extraMajor_
 his much times more space should be allocated for major-dimension vectors when the matrix is resized. More...
 
double * element_
 List of nonzero element values. More...
 
int * index_
 List of nonzero element minor-dimension indices. More...
 
CoinBigIndexstart_
 Starting positions of major-dimension vectors. More...
 
int * length_
 Lengths of major-dimension vectors. More...
 
int majorDim_
 number of vectors in matrix More...
 
int minorDim_
 size of other dimension More...
 
CoinBigIndex size_
 the number of nonzero entries More...
 
int maxMajorDim_
 max space allocated for major-dimension More...
 
CoinBigIndex maxSize_
 max space allocated for entries More...
 

Detailed Description

An object of type BCP_lp_relax holds the description of an lp relaxation.

The matrix, lower/upper bounds on the variables and cuts and objective coefficients for the variables.

Definition at line 267 of file BCP_matrix.hpp.

Constructor & Destructor Documentation

BCP_lp_relax::BCP_lp_relax ( const bool  colordered = true)
inline

Create an empty LP relaxation with given ordering.

Definition at line 377 of file BCP_matrix.hpp.

BCP_lp_relax::BCP_lp_relax ( const BCP_lp_relax mat)

The copy constructor makes a copy of the argument LP relaxation.

BCP_lp_relax::BCP_lp_relax ( BCP_vec< BCP_row * > &  rows,
BCP_vec< double > &  CLB,
BCP_vec< double > &  CUB,
BCP_vec< double > &  OBJ 
)

Create a row major ordered LP relaxation by assigning the content of the arguments to the LP relaxation.

When the constructor returns the content of 'rows' doesn't change while that of CLB, CUB and OBJ will be whatever the default constructor for those arguments create.

BCP_lp_relax::BCP_lp_relax ( BCP_vec< BCP_row * > &  rows,
BCP_vec< double > &  CLB,
BCP_vec< double > &  CUB,
BCP_vec< double > &  OBJ,
double  extra_gap,
double  extra_major 
)

Same as the previous method except that this method allows extra_gap and extra_major to be specified.

For the description of those see the documentation of CoinPackedMatrix. (extra_gap will be used for adding columns, while extra major for adding rows)

BCP_lp_relax::BCP_lp_relax ( BCP_vec< BCP_col * > &  cols,
BCP_vec< double > &  RLB,
BCP_vec< double > &  RUB 
)

Create a column major ordered LP relaxation by assigning the content of the arguments to the LP relaxation.

When the constructor returns the content of 'cols' doesn't change while that of RLB and RUB will be whatever the default constructor for those arguments create.

BCP_lp_relax::BCP_lp_relax ( BCP_vec< BCP_col * > &  cols,
BCP_vec< double > &  RLB,
BCP_vec< double > &  RUB,
double  extra_gap,
double  extra_major 
)

Same as the previous method except that this method allows extra_gap and extra_major to be specified.

For the description of those see the documentation of CoinPackedMatrix. (extra_gap will be used for adding rows, while extra major for adding columns)

BCP_lp_relax::BCP_lp_relax ( const bool  colordered,
const BCP_vec< int > &  VB,
const BCP_vec< int > &  EI,
const BCP_vec< double > &  EV,
const BCP_vec< double > &  OBJ,
const BCP_vec< double > &  CLB,
const BCP_vec< double > &  CUB,
const BCP_vec< double > &  RLB,
const BCP_vec< double > &  RUB 
)

Create an LP relaxation of the given ordering by copying the content of the arguments to the LP relaxation.

BCP_lp_relax::BCP_lp_relax ( const bool  colordered,
const int  rownum,
const int  colnum,
const int  nznum,
int *&  VB,
int *&  EI,
double *&  EV,
double *&  OBJ,
double *&  CLB,
double *&  CUB,
double *&  RLB,
double *&  RUB 
)

Create an LP relaxation of the given ordering by assigning the content of the arguments to the LP relaxation.

When the constructor returns the content of the arguments will be NULL pointers.

BCP_lp_relax::~BCP_lp_relax ( )
inline

The destructor deletes the data members.

Definition at line 435 of file BCP_matrix.hpp.

Member Function Documentation

size_t BCP_lp_relax::colnum ( ) const
inline

The number of columns.

Definition at line 288 of file BCP_matrix.hpp.

References _ColLowerBound, and BCP_vec< T >::size().

size_t BCP_lp_relax::rownum ( ) const
inline

The number of rows.

Definition at line 290 of file BCP_matrix.hpp.

References _RowLowerBound, and BCP_vec< T >::size().

const BCP_vec<double>& BCP_lp_relax::Objective ( ) const
inline

A const reference to the vector of objective coefficients.

Definition at line 292 of file BCP_matrix.hpp.

References _Objective.

const BCP_vec<double>& BCP_lp_relax::ColLowerBound ( ) const
inline

A const reference to the vector of lower bounds on the variables.

Definition at line 294 of file BCP_matrix.hpp.

References _ColLowerBound.

const BCP_vec<double>& BCP_lp_relax::ColUpperBound ( ) const
inline

A const reference to the vector of upper bounds on the variables.

Definition at line 296 of file BCP_matrix.hpp.

References _ColUpperBound.

const BCP_vec<double>& BCP_lp_relax::RowLowerBound ( ) const
inline

A const reference to the vector of lower bounds on the cuts.

Definition at line 298 of file BCP_matrix.hpp.

References _RowLowerBound.

const BCP_vec<double>& BCP_lp_relax::RowUpperBound ( ) const
inline

A const reference to the vector of upper bounds on the cuts.

Definition at line 300 of file BCP_matrix.hpp.

References _RowUpperBound.

BCP_lp_relax& BCP_lp_relax::operator= ( const BCP_lp_relax mat)

Copy the content of x into the LP relaxation.

void BCP_lp_relax::reserve ( const int  MaxColNum,
const int  MaxRowNum,
const int  MaxNonzeros 
)

Reserve space in the LP relaxation for at least MaxColNum columns, MaxRowNum rows and MaxNonzeros nonzero entries.

This is useful when columns/rows are added to the LP relaxation in small chunks and to avoid a series of reallocation we reserve sufficient space up front.

void BCP_lp_relax::clear ( )

Clear the LP relaxation.

void BCP_lp_relax::copyOf ( const CoinPackedMatrix m,
const double *  OBJ,
const double *  CLB,
const double *  CUB,
const double *  RLB,
const double *  RUB 
)

Set up the LP relaxation by making a copy of the arguments.

void BCP_lp_relax::assign ( CoinPackedMatrix m,
double *&  OBJ,
double *&  CLB,
double *&  CUB,
double *&  RLB,
double *&  RUB 
)

Set up the LP relaxation by taking over the pointers in the arguments.

void BCP_lp_relax::erase_col_set ( const BCP_vec< int > &  pos)

Remove the columns whose indices are listed in pos from the LP relaxation.

void BCP_lp_relax::erase_row_set ( const BCP_vec< int > &  pos)

Remove the rows whose indices are listed in pos from the LP relaxation.

void BCP_lp_relax::pack ( BCP_buffer buf) const

Pack the LP relaxation into the buffer.

void BCP_lp_relax::unpack ( BCP_buffer buf)

Unpack the LP relaxation from the buffer.

void BCP_lp_relax::BCP_createColumnOrderedMatrix ( BCP_vec< BCP_row * > &  rows,
BCP_vec< double > &  CLB,
BCP_vec< double > &  CUB,
BCP_vec< double > &  OBJ 
)
private
void BCP_lp_relax::BCP_createRowOrderedMatrix ( BCP_vec< BCP_col * > &  cols,
BCP_vec< double > &  RLB,
BCP_vec< double > &  RUB 
)
private

Member Data Documentation

BCP_vec<double> BCP_lp_relax::_Objective
private

The objective coefficients of the variables.

Definition at line 272 of file BCP_matrix.hpp.

Referenced by Objective().

BCP_vec<double> BCP_lp_relax::_ColLowerBound
private

The lower bounds on the variables.

Definition at line 274 of file BCP_matrix.hpp.

Referenced by ColLowerBound(), and colnum().

BCP_vec<double> BCP_lp_relax::_ColUpperBound
private

The upper bounds on the variables.

Definition at line 276 of file BCP_matrix.hpp.

Referenced by ColUpperBound().

BCP_vec<double> BCP_lp_relax::_RowLowerBound
private

The lower bounds on the cuts.

Definition at line 278 of file BCP_matrix.hpp.

Referenced by RowLowerBound(), and rownum().

BCP_vec<double> BCP_lp_relax::_RowUpperBound
private

The upper bounds on the cuts.

Definition at line 280 of file BCP_matrix.hpp.

Referenced by RowUpperBound().


The documentation for this class was generated from the following file: