#include <ClpNetworkMatrix.hpp>
Inheritance diagram for ClpNetworkMatrix:

Public Methods | |
Useful methods | |
| virtual CoinPackedMatrix * | getPackedMatrix () const |
| Return a complete CoinPackedMatrix. | |
| virtual bool | isColOrdered () const |
| Whether the packed matrix is column major ordered or not. | |
| virtual CoinBigIndex | getNumElements () const |
| Number of entries in the packed matrix. | |
| virtual int | getNumCols () const |
| Number of columns. | |
| virtual int | getNumRows () const |
| Number of rows. | |
| virtual const double * | getElements () const |
| A vector containing the elements in the packed matrix. | |
| virtual const int * | getIndices () const |
| A vector containing the minor indices of the elements in the packed matrix. | |
| virtual const CoinBigIndex * | getVectorStarts () const |
| Return a complete CoinPackedMatrix. | |
| virtual const int * | getVectorLengths () const |
| The lengths of the major-dimension vectors. | |
| virtual void | deleteCols (const int numDel, const int *indDel) |
Delete the columns whose indices are listed in indDel. | |
| virtual void | deleteRows (const int numDel, const int *indDel) |
Delete the rows whose indices are listed in indDel. | |
| virtual ClpMatrixBase * | reverseOrderedCopy () const |
| Returns a new matrix in reverse order without gaps. | |
| virtual CoinBigIndex | fillBasis (ClpSimplex *model, const int *whichColumn, int numberRowBasic, int &numberColumnBasic, int *row, int *column, double *element) |
| If element NULL returns number of elements in column part of basis, If not NULL fills in as well. | |
| virtual CoinBigIndex * | dubiousWeights (const ClpSimplex *model, int *inputWeights) const |
| Given positive integer weights for each row fills in sum of weights for each column (and slack). | |
| virtual void | rangeOfElements (double &smallestNegative, double &largestNegative, double &smallestPositive, double &largestPositive) |
| Returns largest and smallest elements of both signs. | |
| virtual void | unpack (const ClpSimplex *model, CoinIndexedVector *rowArray, int column) const |
| Unpacks a column into an CoinIndexedvector. | |
| virtual void | unpackPacked (ClpSimplex *model, CoinIndexedVector *rowArray, int column) const |
| Unpacks a column into an CoinIndexedvector in packed format Note that model is NOT const. | |
| virtual void | add (const ClpSimplex *model, CoinIndexedVector *rowArray, int column, double multiplier) const |
| Adds multiple of a column into an CoinIndexedvector You can use quickAdd to add to vector. | |
| virtual void | add (const ClpSimplex *model, double *array, int column, double multiplier) const |
| Adds multiple of a column into an array. | |
| virtual void | releasePackedMatrix () const |
| Allow any parts of a created CoinMatrix to be deleted. | |
| virtual bool | canDoPartialPricing () const |
| Says whether it can do partial pricing. | |
| virtual void | partialPricing (ClpSimplex *model, double start, double end, int &bestSequence, int &numberWanted) |
| Partial pricing. | |
Matrix times vector methods | |
| virtual void | times (double scalar, const double *x, double *y) const |
Return y + A * scalar *x in y. | |
| virtual void | times (double scalar, const double *x, double *y, const double *rowScale, const double *columnScale) const |
| And for scaling. | |
| virtual void | transposeTimes (double scalar, const double *x, double *y) const |
Return y + x * scalar * A in y. | |
| virtual void | transposeTimes (double scalar, const double *x, double *y, const double *rowScale, const double *columnScale) const |
| And for scaling. | |
| virtual void | transposeTimes (const ClpSimplex *model, double scalar, const CoinIndexedVector *x, CoinIndexedVector *y, CoinIndexedVector *z) const |
Return x * scalar * A + y in z. | |
| virtual void | subsetTransposeTimes (const ClpSimplex *model, const CoinIndexedVector *x, const CoinIndexedVector *y, CoinIndexedVector *z) const |
Return x *A in z but just for indices in y. | |
Other | |
| bool | trueNetwork () const |
| Return true if really network, false if has slacks. | |
Constructors, destructor | |
| ClpNetworkMatrix () | |
| Default constructor. | |
| ClpNetworkMatrix (int numberColumns, const int *head, const int *tail) | |
| Constructor from two arrays. | |
| virtual | ~ClpNetworkMatrix () |
| Destructor. | |
Copy method | |
| ClpNetworkMatrix (const ClpNetworkMatrix &) | |
| The copy constructor. | |
| ClpNetworkMatrix (const CoinPackedMatrix &) | |
| The copy constructor from an CoinNetworkMatrix. | |
| ClpNetworkMatrix & | operator= (const ClpNetworkMatrix &) |
| The copy constructor. | |
| virtual ClpMatrixBase * | clone () const |
| Clone. | |
Protected Attributes | |
Data members | |
The data members are protected to allow access for derived classes. | |
| double * | elements_ |
| For fake CoinPackedMatrix. | |
| CoinBigIndex * | starts_ |
| For fake CoinPackedMatrix. | |
| int * | lengths_ |
| For fake CoinPackedMatrix. | |
| int * | indices_ |
| Data -1, then +1 rows in pairs (row==-1 if one entry). | |
| int | numberRows_ |
| Number of rows. | |
| int | numberColumns_ |
| Number of columns. | |
| bool | trueNetwork_ |
| True if all entries have two elements. | |
If you want more sophisticated version then you could inherit from this. Also you might want to allow networks with gain
Definition at line 16 of file ClpNetworkMatrix.hpp.
|
|
Default constructor.
|
|
||||||||||||||||
|
Constructor from two arrays.
|
|
|
Destructor.
|
|
|
The copy constructor.
|
|
|
The copy constructor from an CoinNetworkMatrix.
|
|
|
Return a complete CoinPackedMatrix.
Implements ClpMatrixBase. |
|
|
Whether the packed matrix is column major ordered or not.
Implements ClpMatrixBase. Definition at line 24 of file ClpNetworkMatrix.hpp. |
|
|
Number of entries in the packed matrix.
Implements ClpMatrixBase. Definition at line 26 of file ClpNetworkMatrix.hpp. References numberColumns_. |
|
|
Number of columns.
Implements ClpMatrixBase. Definition at line 29 of file ClpNetworkMatrix.hpp. References numberColumns_. |
|
|
Number of rows.
Implements ClpMatrixBase. Definition at line 31 of file ClpNetworkMatrix.hpp. References numberRows_. |
|
|
A vector containing the elements in the packed matrix. Note that there might be gaps in this list, entries that do not belong to any major-dimension vector. To get the actual elements one should look at this vector together with vectorStarts and vectorLengths. Implements ClpMatrixBase. |
|
|
A vector containing the minor indices of the elements in the packed matrix. Note that there might be gaps in this list, entries that do not belong to any major-dimension vector. To get the actual elements one should look at this vector together with vectorStarts and vectorLengths. Implements ClpMatrixBase. Definition at line 43 of file ClpNetworkMatrix.hpp. References indices_. |
|
|
Return a complete CoinPackedMatrix.
Implements ClpMatrixBase. |
|
|
The lengths of the major-dimension vectors.
Implements ClpMatrixBase. |
|
||||||||||||
|
Delete the columns whose indices are listed in
Implements ClpMatrixBase. |
|
||||||||||||
|
Delete the rows whose indices are listed in
Implements ClpMatrixBase. |
|
|
Returns a new matrix in reverse order without gaps.
Reimplemented from ClpMatrixBase. |
|
||||||||||||||||||||||||||||||||
|
If element NULL returns number of elements in column part of basis, If not NULL fills in as well.
Implements ClpMatrixBase. |
|
||||||||||||
|
Given positive integer weights for each row fills in sum of weights for each column (and slack). Returns weights vector Reimplemented from ClpMatrixBase. |
|
||||||||||||||||||||
|
Returns largest and smallest elements of both signs. Largest refers to largest absolute value. Reimplemented from ClpMatrixBase. |
|
||||||||||||||||
|
Unpacks a column into an CoinIndexedvector.
Implements ClpMatrixBase. |
|
||||||||||||||||
|
Unpacks a column into an CoinIndexedvector in packed format Note that model is NOT const. Bounds and objective could be modified if doing column generation (just for this variable) Implements ClpMatrixBase. |
|
||||||||||||||||||||
|
Adds multiple of a column into an CoinIndexedvector You can use quickAdd to add to vector.
Implements ClpMatrixBase. |
|
||||||||||||||||||||
|
Adds multiple of a column into an array.
Implements ClpMatrixBase. |
|
|
Allow any parts of a created CoinMatrix to be deleted.
Implements ClpMatrixBase. |
|
|
Says whether it can do partial pricing.
Reimplemented from ClpMatrixBase. |
|
||||||||||||||||||||||||
|
Partial pricing.
Reimplemented from ClpMatrixBase. |
|
||||||||||||||||
|
Return
Implements ClpMatrixBase. |
|
||||||||||||||||||||||||
|
And for scaling.
Reimplemented from ClpMatrixBase. |
|
||||||||||||||||
|
Return
Implements ClpMatrixBase. |
|
||||||||||||||||||||||||
|
And for scaling.
Reimplemented from ClpMatrixBase. |
|
||||||||||||||||||||||||
|
Return Can use y as temporary array (will be empty at end) Note - If x packed mode - then z packed mode Squashes small elements and knows about ClpSimplex Implements ClpMatrixBase. |
|
||||||||||||||||||||
|
Return Note - z always packed mode Squashes small elements and knows about ClpSimplex Implements ClpMatrixBase. |
|
|
Return true if really network, false if has slacks.
Definition at line 144 of file ClpNetworkMatrix.hpp. References trueNetwork_. |
|
|
The copy constructor.
|
|
|
Clone.
Implements ClpMatrixBase. |
|
|
For fake CoinPackedMatrix.
Definition at line 178 of file ClpNetworkMatrix.hpp. |
|
|
For fake CoinPackedMatrix.
Definition at line 179 of file ClpNetworkMatrix.hpp. |
|
|
For fake CoinPackedMatrix.
Definition at line 180 of file ClpNetworkMatrix.hpp. |
|
|
Data -1, then +1 rows in pairs (row==-1 if one entry).
Definition at line 182 of file ClpNetworkMatrix.hpp. Referenced by getIndices(). |
|
|
Number of rows.
Definition at line 184 of file ClpNetworkMatrix.hpp. Referenced by getNumRows(). |
|
|
Number of columns.
Definition at line 186 of file ClpNetworkMatrix.hpp. Referenced by getNumCols(), and getNumElements(). |
|
|
True if all entries have two elements.
Definition at line 188 of file ClpNetworkMatrix.hpp. Referenced by trueNetwork(). |
1.3-rc2