#include <ClpNetworkMatrix.hpp>
Inheritance diagram for ClpNetworkMatrix:
Public Member Functions | |
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(). |