Clp
1.17.8
|
#include <AbcMatrix.hpp>
Public Member Functions | |
Useful methods | |
CoinPackedMatrix * | getPackedMatrix () 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 CoinBigIndex * | getVectorStarts () const |
Starts. More... | |
CoinBigIndex * | getMutableVectorStarts () const |
const int * | getVectorLengths () const |
The lengths of the major-dimension vectors. More... | |
int * | getMutableVectorLengths () const |
The lengths of the major-dimension vectors. More... | |
CoinBigIndex * | rowStart () const |
Row starts. More... | |
CoinBigIndex * | rowEnd () const |
Row ends. More... | |
double * | rowElements () const |
Row elements. More... | |
CoinSimplexInt * | rowColumns () const |
Row columns. More... | |
CoinPackedMatrix * | reverseOrderedCopy () 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 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 | |
CoinPackedMatrix * | matrix () 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) | |
AbcMatrix & | operator= (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. | |
CoinPackedMatrix * | matrix_ |
Data. More... | |
AbcSimplex * | model_ |
Model. More... | |
CoinBigIndex * | rowStart_ |
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... | |
Definition at line 22 of file AbcMatrix.hpp.
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 | ||
) |
|
inline |
Return a complete CoinPackedMatrix.
Definition at line 28 of file AbcMatrix.hpp.
|
inline |
Whether the packed matrix is column major ordered or not.
Definition at line 33 of file AbcMatrix.hpp.
|
inline |
Number of entries in the packed matrix.
Definition at line 38 of file AbcMatrix.hpp.
|
inline |
Number of columns.
Definition at line 43 of file AbcMatrix.hpp.
|
inline |
Number of rows.
Definition at line 49 of file AbcMatrix.hpp.
void AbcMatrix::setModel | ( | AbcSimplex * | model | ) |
Sets model.
|
inline |
A vector containing the elements in the packed matrix.
Definition at line 57 of file AbcMatrix.hpp.
|
inline |
Mutable elements.
Definition at line 62 of file AbcMatrix.hpp.
|
inline |
A vector containing the minor indices of the elements in the packed matrix.
Definition at line 67 of file AbcMatrix.hpp.
|
inline |
A vector containing the minor indices of the elements in the packed matrix.
Definition at line 72 of file AbcMatrix.hpp.
|
inline |
Starts.
Definition at line 77 of file AbcMatrix.hpp.
|
inline |
Definition at line 81 of file AbcMatrix.hpp.
|
inline |
The lengths of the major-dimension vectors.
Definition at line 86 of file AbcMatrix.hpp.
|
inline |
The lengths of the major-dimension vectors.
Definition at line 91 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
.
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
.
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
.
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
.
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
.
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
.
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
|
inline |
Returns CoinPackedMatrix (non const)
Definition at line 304 of file AbcMatrix.hpp.
|
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 310 of file AbcMatrix.hpp.
|
inline |
Definition at line 314 of file AbcMatrix.hpp.
|
inline |
Partial pricing tuning parameter - minimum number of negative reduced costs to get.
Definition at line 319 of file AbcMatrix.hpp.
|
inline |
Definition at line 323 of file AbcMatrix.hpp.
|
inline |
Current start of search space in matrix (as fraction)
Definition at line 328 of file AbcMatrix.hpp.
|
inline |
Definition at line 332 of file AbcMatrix.hpp.
|
inline |
Current end of search space in matrix (as fraction)
Definition at line 337 of file AbcMatrix.hpp.
|
inline |
Definition at line 341 of file AbcMatrix.hpp.
|
inline |
Current best reduced cost.
Definition at line 346 of file AbcMatrix.hpp.
|
inline |
Definition at line 350 of file AbcMatrix.hpp.
|
inline |
Initial number of negative reduced costs wanted.
Definition at line 355 of file AbcMatrix.hpp.
|
inline |
Definition at line 359 of file AbcMatrix.hpp.
|
inline |
Current number of negative reduced costs which we still need.
Definition at line 364 of file AbcMatrix.hpp.
|
inline |
Definition at line 368 of file AbcMatrix.hpp.
|
inline |
Current best sequence.
Definition at line 373 of file AbcMatrix.hpp.
|
inline |
Definition at line 377 of file AbcMatrix.hpp.
|
inline |
Start of each column block.
Definition at line 382 of file AbcMatrix.hpp.
|
inline |
Start of each block (in stored)
Definition at line 387 of file AbcMatrix.hpp.
|
inline |
Definition at line 391 of file AbcMatrix.hpp.
|
inline |
Start of each block (in stored)
Definition at line 396 of file AbcMatrix.hpp.
|
inline |
Number of actual column blocks.
Definition at line 401 of file AbcMatrix.hpp.
|
inline |
Number of actual row blocks.
Definition at line 406 of file AbcMatrix.hpp.
void AbcMatrix::copy | ( | const AbcMatrix * | from | ) |
Copy contents - resizing if necessary - otherwise re-use memory.
|
protected |
Data.
Definition at line 445 of file AbcMatrix.hpp.
|
mutableprotected |
Model.
Definition at line 447 of file AbcMatrix.hpp.
|
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 461 of file AbcMatrix.hpp.
|
protected |
Values by row.
Definition at line 463 of file AbcMatrix.hpp.
|
protected |
Columns.
Definition at line 465 of file AbcMatrix.hpp.
|
mutableprotected |
Start of each column block.
Definition at line 467 of file AbcMatrix.hpp.
|
protected |
Start of each block (in stored)
Definition at line 469 of file AbcMatrix.hpp.
|
mutableprotected |
Number of actual column blocks.
Definition at line 471 of file AbcMatrix.hpp.
|
protected |
Number of actual row blocks.
Definition at line 473 of file AbcMatrix.hpp.
|
protected |
Special row copy.
Special column copy Current start of search space in matrix (as fraction)
Definition at line 495 of file AbcMatrix.hpp.
|
protected |
Current end of search space in matrix (as fraction)
Definition at line 497 of file AbcMatrix.hpp.
|
protected |
Best reduced cost so far.
Definition at line 499 of file AbcMatrix.hpp.
|
protected |
Initial number of negative reduced costs wanted.
Definition at line 501 of file AbcMatrix.hpp.
|
protected |
Current number of negative reduced costs which we still need.
Definition at line 503 of file AbcMatrix.hpp.
|
protected |
Saved best sequence in pricing.
Definition at line 505 of file AbcMatrix.hpp.
|
protected |
Partial pricing tuning parameter - minimum number of "objects" to scan.
Definition at line 507 of file AbcMatrix.hpp.
|
protected |
Partial pricing tuning parameter - minimum number of negative reduced costs to get.
Definition at line 509 of file AbcMatrix.hpp.