AbcMatrix Class Reference

#include <AbcMatrix.hpp>

Collaboration diagram for AbcMatrix:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Useful methods



CoinPackedMatrixgetPackedMatrix () const
 Return a complete CoinPackedMatrix.
bool isColOrdered () const
 Whether the packed matrix is column major ordered or not.
CoinBigIndex getNumElements () const
 Number of entries in the packed matrix.
int getNumCols () const
 Number of columns.
int getNumRows () const
 Number of rows.
void setModel (AbcSimplex *model)
 Sets model.
const double * getElements () const
 A vector containing the elements in the packed matrix.
double * getMutableElements () const
 Mutable elements.
const int * getIndices () const
 A vector containing the minor indices of the elements in the packed matrix.
int * getMutableIndices () const
 A vector containing the minor indices of the elements in the packed matrix.
const CoinBigIndexgetVectorStarts () const
 Starts.
CoinBigIndexgetMutableVectorStarts () const
 Return a complete CoinPackedMatrix.
const int * getVectorLengths () const
 The lengths of the major-dimension vectors.
int * getMutableVectorLengths () const
 The lengths of the major-dimension vectors.
CoinBigIndexrowStart () const
 Row starts.
CoinBigIndexrowEnd () const
 Row ends.
double * rowElements () const
 Row elements.
CoinSimplexIntrowColumns () const
 Row columns.
CoinPackedMatrixreverseOrderedCopy () const
 Returns a new matrix in reverse order without gaps.
CoinBigIndex countBasis (const int *whichColumn, int &numberColumnBasic)
 Returns number of elements in column part of basis.
void fillBasis (const int *whichColumn, int &numberColumnBasic, int *row, int *start, int *rowCount, int *columnCount, CoinSimplexDouble *element)
 Fills in column part of basis.
void fillBasis (const int *whichColumn, int &numberColumnBasic, int *row, int *start, int *rowCount, int *columnCount, long double *element)
 Fills in column part of basis.
void scale (int numberRowsAlreadyScaled)
 Scales and creates row copy.
void createRowCopy ()
 Creates row copy.
void takeOutOfUseful (int sequence, CoinIndexedVector &spare)
 Take out of useful.
void putIntofUseful (int sequence, CoinIndexedVector &spare)
 Put into useful.
void inOutUseful (int sequenceIn, int sequenceOut)
 Put in and out for useful.
void makeAllUseful (CoinIndexedVector &spare)
 Make all useful.
void sortUseful (CoinIndexedVector &spare)
 Sort into useful.
void moveLargestToStart ()
 Move largest in column to beginning (not used as doesn't help factorization).
void unpack (CoinIndexedVector &rowArray, int column) const
 Unpacks a column into an CoinIndexedVector.
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.
Matrix times vector methods



void timesModifyExcludingSlacks (double scalar, const double *x, double *y) const
 Return y + A * scalar *x in y.
void timesModifyIncludingSlacks (double scalar, const double *x, double *y) const
 Return y + A * scalar(+-1) *x in y.
void timesIncludingSlacks (double scalar, const double *x, double *y) const
 Return A * scalar(+-1) *x in y.
void transposeTimesNonBasic (double scalar, const double *x, double *y) const
 Return A * scalar(+-1) *x + y in y.
void transposeTimesAll (const double *x, double *y) const
 Return y - A * x in y.
void transposeTimesBasic (double scalar, const double *x, double *y) const
 Return y + A * scalar(+-1) *x in y.
int transposeTimesNonBasic (double scalar, const CoinIndexedVector &x, CoinIndexedVector &z) const
 Return x * scalar * A/code> in z.
double dualColumn1 (const CoinIndexedVector &update, CoinPartitionedVector &tableauRow, CoinPartitionedVector &candidateList) const
 gets sorted tableau row and a possible value of theta
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
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
double dualColumn1Row2 (double upperThetaSlack, int &freeSequence, const CoinIndexedVector &update, CoinPartitionedVector &tableauRow, CoinPartitionedVector &candidateList) const
 gets sorted tableau row and a possible value of theta
double dualColumn1Row1 (double upperThetaSlack, int &freeSequence, const CoinIndexedVector &update, CoinPartitionedVector &tableauRow, CoinPartitionedVector &candidateList) const
 gets sorted tableau row and a possible value of theta
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
void rebalance () const
 rebalance for parallel
int pivotColumnDantzig (const CoinIndexedVector &updates, CoinPartitionedVector &spare) const
 Get sequenceIn when Dantzig.
int pivotColumnDantzig (int iBlock, bool doByRow, const CoinIndexedVector &updates, CoinPartitionedVector &spare, double &bestValue) const
 Get sequenceIn when Dantzig (One block).
int primalColumnRow (int iBlock, bool doByRow, const CoinIndexedVector &update, CoinPartitionedVector &tableauRow) const
 gets tableau row - returns number of slacks in block
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
int chooseBestDj (int iBlock, const CoinIndexedVector &infeasibilities, const double *weights) const
 Chooses best weighted dj.
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
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
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
void primalColumnSubset (int iBlock, const CoinIndexedVector &update, const CoinPartitionedVector &tableauRow, CoinPartitionedVector &weights) const
 gets subset updates
void partialPricing (double startFraction, double endFraction, int &bestSequence, int &numberWanted)
 Partial pricing.
void subsetTransposeTimes (const CoinIndexedVector &x, CoinIndexedVector &z) const
 Return x *A in z but just for indices Already in z.
void transposeTimes (const CoinIndexedVector &x, CoinIndexedVector &z) const
 Return -x *A in z.
Other



CoinPackedMatrixmatrix () const
 Returns CoinPackedMatrix (non const).
int minimumObjectsScan () const
 Partial pricing tuning parameter - minimum number of "objects" to scan.
void setMinimumObjectsScan (int value)
 Returns CoinPackedMatrix (non const).
int minimumGoodReducedCosts () const
 Partial pricing tuning parameter - minimum number of negative reduced costs to get.
void setMinimumGoodReducedCosts (int value)
 Returns CoinPackedMatrix (non const).
double startFraction () const
 Current start of search space in matrix (as fraction).
void setStartFraction (double value)
 Returns CoinPackedMatrix (non const).
double endFraction () const
 Current end of search space in matrix (as fraction).
void setEndFraction (double value)
 Returns CoinPackedMatrix (non const).
double savedBestDj () const
 Current best reduced cost.
void setSavedBestDj (double value)
 Returns CoinPackedMatrix (non const).
int originalWanted () const
 Initial number of negative reduced costs wanted.
void setOriginalWanted (int value)
 Returns CoinPackedMatrix (non const).
int currentWanted () const
 Current number of negative reduced costs which we still need.
void setCurrentWanted (int value)
 Returns CoinPackedMatrix (non const).
int savedBestSequence () const
 Current best sequence.
void setSavedBestSequence (int value)
 Returns CoinPackedMatrix (non const).
int * startColumnBlock () const
 Start of each column block.
const int * blockStart () const
 Start of each block (in stored).
bool gotRowCopy () const
 Returns CoinPackedMatrix (non const).
int blockStart (int block) const
 Start of each block (in stored).
int numberColumnBlocks () const
 Number of actual column blocks.
int numberRowBlocks () const
 Number of actual row blocks.
Constructors, destructor



 AbcMatrix ()
 Default constructor.
 ~AbcMatrix ()
 Destructor.
Copy method



 AbcMatrix (const AbcMatrix &)
 The copy constructor.
 AbcMatrix (const CoinPackedMatrix &)
 The copy constructor from an CoinPackedMatrix.
 AbcMatrix (const AbcMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns)
 Subset constructor (without gaps).
 AbcMatrix (const CoinPackedMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns)
 The copy constructor.
AbcMatrixoperator= (const AbcMatrix &)
 The copy constructor.
void copy (const AbcMatrix *from)
 Copy contents - resizing if necessary - otherwise re-use memory.

Protected Attributes

Data members

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



CoinPackedMatrixmatrix_
 Data.
AbcSimplexmodel_
 Model.
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.
double * element_
 Values by row.
int * column_
 Columns.
int startColumnBlock_ [NUMBER_COLUMN_BLOCKS+1]
 Start of each column block.
int blockStart_ [NUMBER_ROW_BLOCKS+1]
 Start of each block (in stored).
int numberColumnBlocks_
 Number of actual column blocks.
int numberRowBlocks_
 Number of actual row blocks.
double startFraction_
 Special row copy.
double endFraction_
 Current end of search space in matrix (as fraction).
double savedBestDj_
 Best reduced cost so far.
int originalWanted_
 Initial number of negative reduced costs wanted.
int currentWanted_
 Current number of negative reduced costs which we still need.
int savedBestSequence_
 Saved best sequence in pricing.
int minimumObjectsScan_
 Partial pricing tuning parameter - minimum number of "objects" to scan.
int minimumGoodReducedCosts_
 Partial pricing tuning parameter - minimum number of negative reduced costs to get.

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 
)

The copy constructor.


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]

Return a complete CoinPackedMatrix.

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]

Returns CoinPackedMatrix (non const).

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]

Returns CoinPackedMatrix (non const).

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]

Returns CoinPackedMatrix (non const).

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]

Returns CoinPackedMatrix (non const).

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]

Returns CoinPackedMatrix (non const).

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]

Returns CoinPackedMatrix (non const).

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]

Returns CoinPackedMatrix (non const).

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]

Returns CoinPackedMatrix (non const).

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]

Returns CoinPackedMatrix (non const).

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  ) 

The copy constructor.

void AbcMatrix::copy ( const AbcMatrix from  ) 

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


Member Data Documentation

Data.

Definition at line 403 of file AbcMatrix.hpp.

AbcSimplex* AbcMatrix::model_ [mutable, protected]

Model.

Definition at line 405 of file AbcMatrix.hpp.

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] [mutable, protected]

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_ [mutable, protected]

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.

Saved best sequence in pricing.

Definition at line 463 of file AbcMatrix.hpp.

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

Definition at line 465 of file AbcMatrix.hpp.

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:

Generated on 5 Apr 2015 by  doxygen 1.6.1