|
Cbc
2.10.5
|
#include <AbcMatrix.hpp>
Collaboration diagram for AbcMatrix: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.
1.8.5