Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
AbcMatrix Class Reference

#include <AbcMatrix.hpp>

+ Collaboration diagram for AbcMatrix:

Public Member Functions

Useful methods
CoinPackedMatrixgetPackedMatrix () const
 Return a complete CoinPackedMatrix. More...
 
bool isColOrdered () const
 Whether the packed matrix is column major ordered 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...
 
void setModel (AbcSimplex *model)
 Sets model. More...
 
const double * getElements () const
 A vector containing the elements in the packed matrix. More...
 
double * getMutableElements () const
 Mutable elements. More...
 
const int * getIndices () const
 A vector containing the minor indices of the elements in the packed matrix. More...
 
int * getMutableIndices () const
 A vector containing the minor indices of the elements in the packed matrix. More...
 
const CoinBigIndexgetVectorStarts () const
 Starts. More...
 
CoinBigIndexgetMutableVectorStarts () const
 
const int * getVectorLengths () const
 The lengths of the major-dimension vectors. More...
 
int * getMutableVectorLengths () const
 The lengths of the major-dimension vectors. More...
 
CoinBigIndexrowStart () const
 Row starts. More...
 
CoinBigIndexrowEnd () const
 Row ends. More...
 
double * rowElements () const
 Row elements. More...
 
CoinSimplexIntrowColumns () const
 Row columns. More...
 
CoinPackedMatrixreverseOrderedCopy () const
 Returns a new matrix in reverse order without gaps. More...
 
CoinBigIndex countBasis (const int *whichColumn, int &numberColumnBasic)
 Returns number of elements in column part of basis. More...
 
void fillBasis (const int *whichColumn, int &numberColumnBasic, int *row, int *start, int *rowCount, int *columnCount, CoinSimplexDouble *element)
 Fills in column part of basis. More...
 
void fillBasis (const int *whichColumn, int &numberColumnBasic, int *row, int *start, int *rowCount, int *columnCount, long double *element)
 Fills in column part of basis. More...
 
void scale (int numberRowsAlreadyScaled)
 Scales and creates row copy. More...
 
void createRowCopy ()
 Creates row copy. More...
 
void takeOutOfUseful (int sequence, CoinIndexedVector &spare)
 Take out of useful. More...
 
void putIntofUseful (int sequence, CoinIndexedVector &spare)
 Put into useful. More...
 
void inOutUseful (int sequenceIn, int sequenceOut)
 Put in and out for useful. More...
 
void makeAllUseful (CoinIndexedVector &spare)
 Make all useful. More...
 
void sortUseful (CoinIndexedVector &spare)
 Sort into useful. More...
 
void moveLargestToStart ()
 Move largest in column to beginning (not used as doesn't help factorization) More...
 
void unpack (CoinIndexedVector &rowArray, int column) const
 Unpacks a column into an CoinIndexedVector. More...
 
void add (CoinIndexedVector &rowArray, int column, double multiplier) const
 Adds multiple of a column (or slack) into an CoinIndexedvector You can use quickAdd to add to vector. More...
 
Matrix times vector methods
void timesModifyExcludingSlacks (double scalar, const double *x, double *y) const
 Return y + A * scalar *x in y. More...
 
void timesModifyIncludingSlacks (double scalar, const double *x, double *y) const
 Return y + A * scalar(+-1) *x in y. More...
 
void timesIncludingSlacks (double scalar, const double *x, double *y) const
 Return A * scalar(+-1) *x in y. More...
 
void transposeTimesNonBasic (double scalar, const double *x, double *y) const
 Return A * scalar(+-1) *x + y in y. More...
 
void transposeTimesAll (const double *x, double *y) const
 Return y - A * x in y. More...
 
void transposeTimesBasic (double scalar, const double *x, double *y) const
 Return y + A * scalar(+-1) *x in y. More...
 
int transposeTimesNonBasic (double scalar, const CoinIndexedVector &x, CoinIndexedVector &z) const
 Return x * scalar * A/code> in z. More...
 
double dualColumn1 (const CoinIndexedVector &update, CoinPartitionedVector &tableauRow, CoinPartitionedVector &candidateList) const
 gets sorted tableau row and a possible value of theta More...
 
double dualColumn1Row (int iBlock, double upperThetaSlack, int &freeSequence, const CoinIndexedVector &update, CoinPartitionedVector &tableauRow, CoinPartitionedVector &candidateList) const
 gets sorted tableau row and a possible value of theta More...
 
double dualColumn1RowFew (int iBlock, double upperThetaSlack, int &freeSequence, const CoinIndexedVector &update, CoinPartitionedVector &tableauRow, CoinPartitionedVector &candidateList) const
 gets sorted tableau row and a possible value of theta More...
 
double dualColumn1Row2 (double upperThetaSlack, int &freeSequence, const CoinIndexedVector &update, CoinPartitionedVector &tableauRow, CoinPartitionedVector &candidateList) const
 gets sorted tableau row and a possible value of theta More...
 
double dualColumn1Row1 (double upperThetaSlack, int &freeSequence, const CoinIndexedVector &update, CoinPartitionedVector &tableauRow, CoinPartitionedVector &candidateList) const
 gets sorted tableau row and a possible value of theta More...
 
void dualColumn1Part (int iBlock, int &sequenceIn, double &upperTheta, const CoinIndexedVector &update, CoinPartitionedVector &tableauRow, CoinPartitionedVector &candidateList) const
 gets sorted tableau row and a possible value of theta On input first,last give what to scan On output is number in tableauRow and candidateList More...
 
void rebalance () const
 rebalance for parallel More...
 
int pivotColumnDantzig (const CoinIndexedVector &updates, CoinPartitionedVector &spare) const
 Get sequenceIn when Dantzig. More...
 
int pivotColumnDantzig (int iBlock, bool doByRow, const CoinIndexedVector &updates, CoinPartitionedVector &spare, double &bestValue) const
 Get sequenceIn when Dantzig (One block) More...
 
int primalColumnRow (int iBlock, bool doByRow, const CoinIndexedVector &update, CoinPartitionedVector &tableauRow) const
 gets tableau row - returns number of slacks in block More...
 
int primalColumnRowAndDjs (int iBlock, const CoinIndexedVector &updateTableau, const CoinIndexedVector &updateDjs, CoinPartitionedVector &tableauRow) const
 gets tableau row and dj row - returns number of slacks in block More...
 
int chooseBestDj (int iBlock, const CoinIndexedVector &infeasibilities, const double *weights) const
 Chooses best weighted dj. More...
 
int primalColumnDouble (int iBlock, CoinPartitionedVector &updateForTableauRow, CoinPartitionedVector &updateForDjs, const CoinIndexedVector &updateForWeights, CoinPartitionedVector &spareColumn1, double *infeasibilities, double referenceIn, double devex, unsigned int *reference, double *weights, double scaleFactor) const
 does steepest edge double or triple update If scaleFactor!=0 then use with tableau row to update djs otherwise use updateForDjs Returns best sequence More...
 
int primalColumnSparseDouble (int iBlock, CoinPartitionedVector &updateForTableauRow, CoinPartitionedVector &updateForDjs, const CoinIndexedVector &updateForWeights, CoinPartitionedVector &spareColumn1, double *infeasibilities, double referenceIn, double devex, unsigned int *reference, double *weights, double scaleFactor) const
 does steepest edge double or triple update If scaleFactor!=0 then use with tableau row to update djs otherwise use updateForDjs Returns best sequence More...
 
int primalColumnDouble (CoinPartitionedVector &updateForTableauRow, CoinPartitionedVector &updateForDjs, const CoinIndexedVector &updateForWeights, CoinPartitionedVector &spareColumn1, CoinIndexedVector &infeasible, double referenceIn, double devex, unsigned int *reference, double *weights, double scaleFactor) const
 does steepest edge double or triple update If scaleFactor!=0 then use with tableau row to update djs otherwise use updateForDjs Returns best sequence More...
 
void primalColumnSubset (int iBlock, const CoinIndexedVector &update, const CoinPartitionedVector &tableauRow, CoinPartitionedVector &weights) const
 gets subset updates More...
 
void partialPricing (double startFraction, double endFraction, int &bestSequence, int &numberWanted)
 Partial pricing. More...
 
void subsetTransposeTimes (const CoinIndexedVector &x, CoinIndexedVector &z) const
 Return x *A in z but just for indices Already in z. More...
 
void transposeTimes (const CoinIndexedVector &x, CoinIndexedVector &z) const
 Return -x *A in z More...
 
Other
CoinPackedMatrixmatrix () const
 Returns CoinPackedMatrix (non const) More...
 
int minimumObjectsScan () const
 Partial pricing tuning parameter - minimum number of "objects" to scan. More...
 
void setMinimumObjectsScan (int value)
 
int minimumGoodReducedCosts () const
 Partial pricing tuning parameter - minimum number of negative reduced costs to get. More...
 
void setMinimumGoodReducedCosts (int value)
 
double startFraction () const
 Current start of search space in matrix (as fraction) More...
 
void setStartFraction (double value)
 
double endFraction () const
 Current end of search space in matrix (as fraction) More...
 
void setEndFraction (double value)
 
double savedBestDj () const
 Current best reduced cost. More...
 
void setSavedBestDj (double value)
 
int originalWanted () const
 Initial number of negative reduced costs wanted. More...
 
void setOriginalWanted (int value)
 
int currentWanted () const
 Current number of negative reduced costs which we still need. More...
 
void setCurrentWanted (int value)
 
int savedBestSequence () const
 Current best sequence. More...
 
void setSavedBestSequence (int value)
 
int * startColumnBlock () const
 Start of each column block. More...
 
const int * blockStart () const
 Start of each block (in stored) More...
 
bool gotRowCopy () const
 
int blockStart (int block) const
 Start of each block (in stored) More...
 
int numberColumnBlocks () const
 Number of actual column blocks. More...
 
int numberRowBlocks () const
 Number of actual row blocks. More...
 
Constructors, destructor
 AbcMatrix ()
 Default constructor. More...
 
 ~AbcMatrix ()
 Destructor. More...
 
Copy method
 AbcMatrix (const AbcMatrix &)
 The copy constructor. More...
 
 AbcMatrix (const CoinPackedMatrix &)
 The copy constructor from an CoinPackedMatrix. More...
 
 AbcMatrix (const AbcMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns)
 Subset constructor (without gaps). More...
 
 AbcMatrix (const CoinPackedMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns)
 
AbcMatrixoperator= (const AbcMatrix &)
 
void copy (const AbcMatrix *from)
 Copy contents - resizing if necessary - otherwise re-use memory. More...
 

Protected Attributes

Data members

The data members are protected to allow access for derived classes.

CoinPackedMatrixmatrix_
 Data. More...
 
AbcSimplexmodel_
 Model. More...
 
CoinBigIndexrowStart_
 Start of each row (per block) - last lot are useless first all row starts for block 0, then for block2 so NUMBER_ROW_BLOCKS+2 times number rows. More...
 
double * element_
 Values by row. More...
 
int * column_
 Columns. More...
 
int startColumnBlock_ [NUMBER_COLUMN_BLOCKS+1]
 Start of each column block. More...
 
int blockStart_ [NUMBER_ROW_BLOCKS+1]
 Start of each block (in stored) More...
 
int numberColumnBlocks_
 Number of actual column blocks. More...
 
int numberRowBlocks_
 Number of actual row blocks. More...
 
double startFraction_
 Special row copy. More...
 
double endFraction_
 Current end of search space in matrix (as fraction) More...
 
double savedBestDj_
 Best reduced cost so far. More...
 
int originalWanted_
 Initial number of negative reduced costs wanted. More...
 
int currentWanted_
 Current number of negative reduced costs which we still need. More...
 
int savedBestSequence_
 Saved best sequence in pricing. More...
 
int minimumObjectsScan_
 Partial pricing tuning parameter - minimum number of "objects" to scan. More...
 
int minimumGoodReducedCosts_
 Partial pricing tuning parameter - minimum number of negative reduced costs to get. More...
 

Detailed Description

Definition at line 22 of file AbcMatrix.hpp.

Constructor & Destructor Documentation

AbcMatrix::AbcMatrix ( )

Default constructor.

AbcMatrix::~AbcMatrix ( )

Destructor.

AbcMatrix::AbcMatrix ( const AbcMatrix )

The copy constructor.

AbcMatrix::AbcMatrix ( const CoinPackedMatrix )

The copy constructor from an CoinPackedMatrix.

AbcMatrix::AbcMatrix ( const AbcMatrix wholeModel,
int  numberRows,
const int *  whichRows,
int  numberColumns,
const int *  whichColumns 
)

Subset constructor (without gaps).

Duplicates are allowed and order is as given

AbcMatrix::AbcMatrix ( const CoinPackedMatrix wholeModel,
int  numberRows,
const int *  whichRows,
int  numberColumns,
const int *  whichColumns 
)

Member Function Documentation

CoinPackedMatrix* AbcMatrix::getPackedMatrix ( ) const
inline

Return a complete CoinPackedMatrix.

Definition at line 28 of file AbcMatrix.hpp.

bool AbcMatrix::isColOrdered ( ) const
inline

Whether the packed matrix is column major ordered or not.

Definition at line 32 of file AbcMatrix.hpp.

CoinBigIndex AbcMatrix::getNumElements ( ) const
inline

Number of entries in the packed matrix.

Definition at line 36 of file AbcMatrix.hpp.

int AbcMatrix::getNumCols ( ) const
inline

Number of columns.

Definition at line 40 of file AbcMatrix.hpp.

int AbcMatrix::getNumRows ( ) const
inline

Number of rows.

Definition at line 44 of file AbcMatrix.hpp.

void AbcMatrix::setModel ( AbcSimplex model)

Sets model.

const double* AbcMatrix::getElements ( ) const
inline

A vector containing the elements in the packed matrix.

Definition at line 50 of file AbcMatrix.hpp.

double* AbcMatrix::getMutableElements ( ) const
inline

Mutable elements.

Definition at line 54 of file AbcMatrix.hpp.

const int* AbcMatrix::getIndices ( ) const
inline

A vector containing the minor indices of the elements in the packed matrix.

Definition at line 58 of file AbcMatrix.hpp.

int* AbcMatrix::getMutableIndices ( ) const
inline

A vector containing the minor indices of the elements in the packed matrix.

Definition at line 62 of file AbcMatrix.hpp.

const CoinBigIndex* AbcMatrix::getVectorStarts ( ) const
inline

Starts.

Definition at line 66 of file AbcMatrix.hpp.

CoinBigIndex* AbcMatrix::getMutableVectorStarts ( ) const
inline

Definition at line 69 of file AbcMatrix.hpp.

const int* AbcMatrix::getVectorLengths ( ) const
inline

The lengths of the major-dimension vectors.

Definition at line 73 of file AbcMatrix.hpp.

int* AbcMatrix::getMutableVectorLengths ( ) const
inline

The lengths of the major-dimension vectors.

Definition at line 77 of file AbcMatrix.hpp.

CoinBigIndex* AbcMatrix::rowStart ( ) const

Row starts.

CoinBigIndex* AbcMatrix::rowEnd ( ) const

Row ends.

double* AbcMatrix::rowElements ( ) const

Row elements.

CoinSimplexInt* AbcMatrix::rowColumns ( ) const

Row columns.

CoinPackedMatrix* AbcMatrix::reverseOrderedCopy ( ) const

Returns a new matrix in reverse order without gaps.

CoinBigIndex AbcMatrix::countBasis ( const int *  whichColumn,
int &  numberColumnBasic 
)

Returns number of elements in column part of basis.

void AbcMatrix::fillBasis ( const int *  whichColumn,
int &  numberColumnBasic,
int *  row,
int *  start,
int *  rowCount,
int *  columnCount,
CoinSimplexDouble element 
)

Fills in column part of basis.

void AbcMatrix::fillBasis ( const int *  whichColumn,
int &  numberColumnBasic,
int *  row,
int *  start,
int *  rowCount,
int *  columnCount,
long double *  element 
)

Fills in column part of basis.

void AbcMatrix::scale ( int  numberRowsAlreadyScaled)

Scales and creates row copy.

void AbcMatrix::createRowCopy ( )

Creates row copy.

void AbcMatrix::takeOutOfUseful ( int  sequence,
CoinIndexedVector spare 
)

Take out of useful.

void AbcMatrix::putIntofUseful ( int  sequence,
CoinIndexedVector spare 
)

Put into useful.

void AbcMatrix::inOutUseful ( int  sequenceIn,
int  sequenceOut 
)

Put in and out for useful.

void AbcMatrix::makeAllUseful ( CoinIndexedVector spare)

Make all useful.

void AbcMatrix::sortUseful ( CoinIndexedVector spare)

Sort into useful.

void AbcMatrix::moveLargestToStart ( )

Move largest in column to beginning (not used as doesn't help factorization)

void AbcMatrix::unpack ( CoinIndexedVector rowArray,
int  column 
) const

Unpacks a column into an CoinIndexedVector.

void AbcMatrix::add ( CoinIndexedVector rowArray,
int  column,
double  multiplier 
) const

Adds multiple of a column (or slack) into an CoinIndexedvector You can use quickAdd to add to vector.

void AbcMatrix::timesModifyExcludingSlacks ( double  scalar,
const double *  x,
double *  y 
) const

Return y + A * scalar *x in y.

Precondition
x must be of size numColumns()
y must be of size numRows()
void AbcMatrix::timesModifyIncludingSlacks ( double  scalar,
const double *  x,
double *  y 
) const

Return y + A * scalar(+-1) *x in y.

Precondition
x must be of size numColumns()+numRows()
y must be of size numRows()
void AbcMatrix::timesIncludingSlacks ( double  scalar,
const double *  x,
double *  y 
) const

Return A * scalar(+-1) *x in y.

Precondition
x must be of size numColumns()+numRows()
y must be of size numRows()
void AbcMatrix::transposeTimesNonBasic ( double  scalar,
const double *  x,
double *  y 
) const

Return A * scalar(+-1) *x + y in y.

Precondition
x must be of size numRows()
y must be of size numRows()+numColumns()
void AbcMatrix::transposeTimesAll ( const double *  x,
double *  y 
) const

Return y - A * x in y.

Precondition
x must be of size numRows()
y must be of size numRows()+numColumns()
void AbcMatrix::transposeTimesBasic ( double  scalar,
const double *  x,
double *  y 
) const

Return y + A * scalar(+-1) *x in y.

Precondition
x must be of size numRows()
y must be of size numRows()
int AbcMatrix::transposeTimesNonBasic ( double  scalar,
const CoinIndexedVector x,
CoinIndexedVector z 
) const

Return x * scalar * A/code> in z.

Note - x unpacked mode - z packed mode including slacks All these return atLo/atUp first then free/superbasic number of first set returned pivotVariable is extended to have that order reversePivotVariable used to update that list free/superbasic only stored in normal format can use spare array to get this effect may put djs alongside atLo/atUp Squashes small elements and knows about AbcSimplex

double AbcMatrix::dualColumn1 ( const CoinIndexedVector update,
CoinPartitionedVector tableauRow,
CoinPartitionedVector candidateList 
) const

gets sorted tableau row and a possible value of theta

double AbcMatrix::dualColumn1Row ( int  iBlock,
double  upperThetaSlack,
int &  freeSequence,
const CoinIndexedVector update,
CoinPartitionedVector tableauRow,
CoinPartitionedVector candidateList 
) const

gets sorted tableau row and a possible value of theta

double AbcMatrix::dualColumn1RowFew ( int  iBlock,
double  upperThetaSlack,
int &  freeSequence,
const CoinIndexedVector update,
CoinPartitionedVector tableauRow,
CoinPartitionedVector candidateList 
) const

gets sorted tableau row and a possible value of theta

double AbcMatrix::dualColumn1Row2 ( double  upperThetaSlack,
int &  freeSequence,
const CoinIndexedVector update,
CoinPartitionedVector tableauRow,
CoinPartitionedVector candidateList 
) const

gets sorted tableau row and a possible value of theta

double AbcMatrix::dualColumn1Row1 ( double  upperThetaSlack,
int &  freeSequence,
const CoinIndexedVector update,
CoinPartitionedVector tableauRow,
CoinPartitionedVector candidateList 
) const

gets sorted tableau row and a possible value of theta

void AbcMatrix::dualColumn1Part ( int  iBlock,
int &  sequenceIn,
double &  upperTheta,
const CoinIndexedVector update,
CoinPartitionedVector tableauRow,
CoinPartitionedVector candidateList 
) const

gets sorted tableau row and a possible value of theta On input first,last give what to scan On output is number in tableauRow and candidateList

void AbcMatrix::rebalance ( ) const

rebalance for parallel

int AbcMatrix::pivotColumnDantzig ( const CoinIndexedVector updates,
CoinPartitionedVector spare 
) const

Get sequenceIn when Dantzig.

int AbcMatrix::pivotColumnDantzig ( int  iBlock,
bool  doByRow,
const CoinIndexedVector updates,
CoinPartitionedVector spare,
double &  bestValue 
) const

Get sequenceIn when Dantzig (One block)

int AbcMatrix::primalColumnRow ( int  iBlock,
bool  doByRow,
const CoinIndexedVector update,
CoinPartitionedVector tableauRow 
) const

gets tableau row - returns number of slacks in block

int AbcMatrix::primalColumnRowAndDjs ( int  iBlock,
const CoinIndexedVector updateTableau,
const CoinIndexedVector updateDjs,
CoinPartitionedVector tableauRow 
) const

gets tableau row and dj row - returns number of slacks in block

int AbcMatrix::chooseBestDj ( int  iBlock,
const CoinIndexedVector infeasibilities,
const double *  weights 
) const

Chooses best weighted dj.

int AbcMatrix::primalColumnDouble ( int  iBlock,
CoinPartitionedVector updateForTableauRow,
CoinPartitionedVector updateForDjs,
const CoinIndexedVector updateForWeights,
CoinPartitionedVector spareColumn1,
double *  infeasibilities,
double  referenceIn,
double  devex,
unsigned int *  reference,
double *  weights,
double  scaleFactor 
) const

does steepest edge double or triple update If scaleFactor!=0 then use with tableau row to update djs otherwise use updateForDjs Returns best sequence

int AbcMatrix::primalColumnSparseDouble ( int  iBlock,
CoinPartitionedVector updateForTableauRow,
CoinPartitionedVector updateForDjs,
const CoinIndexedVector updateForWeights,
CoinPartitionedVector spareColumn1,
double *  infeasibilities,
double  referenceIn,
double  devex,
unsigned int *  reference,
double *  weights,
double  scaleFactor 
) const

does steepest edge double or triple update If scaleFactor!=0 then use with tableau row to update djs otherwise use updateForDjs Returns best sequence

int AbcMatrix::primalColumnDouble ( CoinPartitionedVector updateForTableauRow,
CoinPartitionedVector updateForDjs,
const CoinIndexedVector updateForWeights,
CoinPartitionedVector spareColumn1,
CoinIndexedVector infeasible,
double  referenceIn,
double  devex,
unsigned int *  reference,
double *  weights,
double  scaleFactor 
) const

does steepest edge double or triple update If scaleFactor!=0 then use with tableau row to update djs otherwise use updateForDjs Returns best sequence

void AbcMatrix::primalColumnSubset ( int  iBlock,
const CoinIndexedVector update,
const CoinPartitionedVector tableauRow,
CoinPartitionedVector weights 
) const

gets subset updates

void AbcMatrix::partialPricing ( double  startFraction,
double  endFraction,
int &  bestSequence,
int &  numberWanted 
)

Partial pricing.

void AbcMatrix::subsetTransposeTimes ( const CoinIndexedVector x,
CoinIndexedVector z 
) const

Return x *A in z but just for indices Already in z.

Note - z always packed mode

void AbcMatrix::transposeTimes ( const CoinIndexedVector x,
CoinIndexedVector z 
) const

Return -x *A in z

CoinPackedMatrix* AbcMatrix::matrix ( ) const
inline

Returns CoinPackedMatrix (non const)

Definition at line 289 of file AbcMatrix.hpp.

int AbcMatrix::minimumObjectsScan ( ) const
inline

Partial pricing tuning parameter - minimum number of "objects" to scan.

e.g. number of Gub sets but could be number of variables

Definition at line 294 of file AbcMatrix.hpp.

void AbcMatrix::setMinimumObjectsScan ( int  value)
inline

Definition at line 297 of file AbcMatrix.hpp.

int AbcMatrix::minimumGoodReducedCosts ( ) const
inline

Partial pricing tuning parameter - minimum number of negative reduced costs to get.

Definition at line 301 of file AbcMatrix.hpp.

void AbcMatrix::setMinimumGoodReducedCosts ( int  value)
inline

Definition at line 304 of file AbcMatrix.hpp.

double AbcMatrix::startFraction ( ) const
inline

Current start of search space in matrix (as fraction)

Definition at line 308 of file AbcMatrix.hpp.

void AbcMatrix::setStartFraction ( double  value)
inline

Definition at line 311 of file AbcMatrix.hpp.

double AbcMatrix::endFraction ( ) const
inline

Current end of search space in matrix (as fraction)

Definition at line 315 of file AbcMatrix.hpp.

void AbcMatrix::setEndFraction ( double  value)
inline

Definition at line 318 of file AbcMatrix.hpp.

double AbcMatrix::savedBestDj ( ) const
inline

Current best reduced cost.

Definition at line 322 of file AbcMatrix.hpp.

void AbcMatrix::setSavedBestDj ( double  value)
inline

Definition at line 325 of file AbcMatrix.hpp.

int AbcMatrix::originalWanted ( ) const
inline

Initial number of negative reduced costs wanted.

Definition at line 329 of file AbcMatrix.hpp.

void AbcMatrix::setOriginalWanted ( int  value)
inline

Definition at line 332 of file AbcMatrix.hpp.

int AbcMatrix::currentWanted ( ) const
inline

Current number of negative reduced costs which we still need.

Definition at line 336 of file AbcMatrix.hpp.

void AbcMatrix::setCurrentWanted ( int  value)
inline

Definition at line 339 of file AbcMatrix.hpp.

int AbcMatrix::savedBestSequence ( ) const
inline

Current best sequence.

Definition at line 343 of file AbcMatrix.hpp.

void AbcMatrix::setSavedBestSequence ( int  value)
inline

Definition at line 346 of file AbcMatrix.hpp.

int* AbcMatrix::startColumnBlock ( ) const
inline

Start of each column block.

Definition at line 350 of file AbcMatrix.hpp.

const int* AbcMatrix::blockStart ( ) const
inline

Start of each block (in stored)

Definition at line 353 of file AbcMatrix.hpp.

bool AbcMatrix::gotRowCopy ( ) const
inline

Definition at line 355 of file AbcMatrix.hpp.

int AbcMatrix::blockStart ( int  block) const
inline

Start of each block (in stored)

Definition at line 358 of file AbcMatrix.hpp.

int AbcMatrix::numberColumnBlocks ( ) const
inline

Number of actual column blocks.

Definition at line 361 of file AbcMatrix.hpp.

int AbcMatrix::numberRowBlocks ( ) const
inline

Number of actual row blocks.

Definition at line 364 of file AbcMatrix.hpp.

AbcMatrix& AbcMatrix::operator= ( const AbcMatrix )
void AbcMatrix::copy ( const AbcMatrix from)

Copy contents - resizing if necessary - otherwise re-use memory.

Member Data Documentation

CoinPackedMatrix* AbcMatrix::matrix_
protected

Data.

Definition at line 403 of file AbcMatrix.hpp.

AbcSimplex* AbcMatrix::model_
mutableprotected

Model.

Definition at line 405 of file AbcMatrix.hpp.

CoinBigIndex* AbcMatrix::rowStart_
protected

Start of each row (per block) - last lot are useless first all row starts for block 0, then for block2 so NUMBER_ROW_BLOCKS+2 times number rows.

Definition at line 419 of file AbcMatrix.hpp.

double* AbcMatrix::element_
protected

Values by row.

Definition at line 421 of file AbcMatrix.hpp.

int* AbcMatrix::column_
protected

Columns.

Definition at line 423 of file AbcMatrix.hpp.

int AbcMatrix::startColumnBlock_[NUMBER_COLUMN_BLOCKS+1]
mutableprotected

Start of each column block.

Definition at line 425 of file AbcMatrix.hpp.

int AbcMatrix::blockStart_[NUMBER_ROW_BLOCKS+1]
protected

Start of each block (in stored)

Definition at line 427 of file AbcMatrix.hpp.

int AbcMatrix::numberColumnBlocks_
mutableprotected

Number of actual column blocks.

Definition at line 429 of file AbcMatrix.hpp.

int AbcMatrix::numberRowBlocks_
protected

Number of actual row blocks.

Definition at line 431 of file AbcMatrix.hpp.

double AbcMatrix::startFraction_
protected

Special row copy.

Special column copy Current start of search space in matrix (as fraction)

Definition at line 453 of file AbcMatrix.hpp.

double AbcMatrix::endFraction_
protected

Current end of search space in matrix (as fraction)

Definition at line 455 of file AbcMatrix.hpp.

double AbcMatrix::savedBestDj_
protected

Best reduced cost so far.

Definition at line 457 of file AbcMatrix.hpp.

int AbcMatrix::originalWanted_
protected

Initial number of negative reduced costs wanted.

Definition at line 459 of file AbcMatrix.hpp.

int AbcMatrix::currentWanted_
protected

Current number of negative reduced costs which we still need.

Definition at line 461 of file AbcMatrix.hpp.

int AbcMatrix::savedBestSequence_
protected

Saved best sequence in pricing.

Definition at line 463 of file AbcMatrix.hpp.

int AbcMatrix::minimumObjectsScan_
protected

Partial pricing tuning parameter - minimum number of "objects" to scan.

Definition at line 465 of file AbcMatrix.hpp.

int AbcMatrix::minimumGoodReducedCosts_
protected

Partial pricing tuning parameter - minimum number of negative reduced costs to get.

Definition at line 467 of file AbcMatrix.hpp.


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