|
|
virtual ClpMatrixBase * | reverseOrderedCopy () const |
| Returns a new matrix in reverse order without gaps (GUB wants NULL) More...
|
|
virtual int | countBasis (const int *whichColumn, int &numberColumnBasic) |
| Returns number of elements in column part of basis. More...
|
|
virtual void | fillBasis (ClpSimplex *model, const int *whichColumn, int &numberColumnBasic, int *row, int *start, int *rowCount, int *columnCount, CoinFactorizationDouble *element) |
| Fills in column part of basis. More...
|
|
virtual void | unpack (const ClpSimplex *model, CoinIndexedVector *rowArray, int column) const |
| Unpacks a column into an CoinIndexedvector. More...
|
|
virtual void | unpackPacked (ClpSimplex *model, CoinIndexedVector *rowArray, int column) const |
| Unpacks a column into an CoinIndexedvector in packed foramt Note that model is NOT const. More...
|
|
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. More...
|
|
virtual void | add (const ClpSimplex *model, double *array, int column, double multiplier) const |
| Adds multiple of a column into an array. More...
|
|
virtual void | partialPricing (ClpSimplex *model, double start, double end, int &bestSequence, int &numberWanted) |
| Partial pricing. More...
|
|
virtual int | hiddenRows () const |
| Returns number of hidden rows e.g. gub. More...
|
|
|
virtual void | transposeTimes (const ClpSimplex *model, double scalar, const CoinIndexedVector *x, CoinIndexedVector *y, CoinIndexedVector *z) const |
| Return x * scalar * A + y in z . More...
|
|
virtual void | transposeTimesByRow (const ClpSimplex *model, double scalar, const CoinIndexedVector *x, CoinIndexedVector *y, CoinIndexedVector *z) const |
| Return x * scalar * A + y in z . More...
|
|
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. More...
|
|
virtual int | extendUpdated (ClpSimplex *model, CoinIndexedVector *update, int mode) |
| expands an updated column to allow for extra rows which the main solver does not know about and returns number added if mode 0. More...
|
|
virtual void | primalExpanded (ClpSimplex *model, int mode) |
| mode=0 - Set up before "update" and "times" for primal solution using extended rows mode=1 - Cleanup primal solution after "times" using extended rows. More...
|
|
virtual void | dualExpanded (ClpSimplex *model, CoinIndexedVector *array, double *other, int mode) |
| mode=0 - Set up before "updateTranspose" and "transposeTimes" for duals using extended updates array (and may use other if dual values pass) mode=1 - Update dual solution after "transposeTimes" using extended rows. More...
|
|
virtual int | generalExpanded (ClpSimplex *model, int mode, int &number) |
| mode=0 - Create list of non-key basics in pivotVariable_ using number as numberBasic in and out mode=1 - Set all key variables as basic mode=2 - return number extra rows needed, number gives maximum number basic mode=3 - before replaceColumn mode=4 - return 1 if can do primal, 2 if dual, 3 if both mode=5 - save any status stuff (when in good state) mode=6 - restore status stuff mode=7 - flag given variable (normally sequenceIn) mode=8 - unflag all variables mode=9 - synchronize costs mode=10 - return 1 if there may be changing bounds on variable (column generation) mode=11 - make sure set is clean (used when a variable rejected - but not flagged) mode=12 - after factorize but before permute stuff mode=13 - at end of simplex to delete stuff More...
|
|
virtual int | updatePivot (ClpSimplex *model, double oldInValue, double oldOutValue) |
| update information for a pivot (and effective rhs) More...
|
|
virtual void | useEffectiveRhs (ClpSimplex *model, bool cheapest=true) |
| Sets up an effective RHS and does gub crash if needed. More...
|
|
virtual double * | rhsOffset (ClpSimplex *model, bool forceRefresh=false, bool check=false) |
| Returns effective RHS offset if it is being used. More...
|
|
virtual int | synchronize (ClpSimplex *model, int mode) |
| This is local to Gub to allow synchronization: mode=0 when status of basis is good mode=1 when variable is flagged mode=2 when all variables unflagged (returns number flagged) mode=3 just reset costs (primal) mode=4 correct number of dual infeasibilities mode=5 return 4 if time to re-factorize mode=6 - return 1 if there may be changing bounds on variable (column generation) mode=7 - do extra restores for column generation mode=8 - make sure set is clean mode=9 - adjust lower, upper on set by incoming. More...
|
|
virtual void | correctSequence (const ClpSimplex *model, int &sequenceIn, int &sequenceOut) |
| Correct sequence in and out to give true value. More...
|
|
|
| ClpGubMatrix () |
| Default constructor. More...
|
|
virtual | ~ClpGubMatrix () |
| Destructor. More...
|
|
|
| ClpGubMatrix (const ClpGubMatrix &) |
| The copy constructor. More...
|
|
| ClpGubMatrix (const CoinPackedMatrix &) |
| The copy constructor from an CoinPackedMatrix. More...
|
|
| ClpGubMatrix (const ClpGubMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns) |
| Subset constructor (without gaps). More...
|
|
| ClpGubMatrix (const CoinPackedMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns) |
| The copy constructor. More...
|
|
| ClpGubMatrix (CoinPackedMatrix *matrix) |
| This takes over ownership (for space reasons) More...
|
|
| ClpGubMatrix (ClpPackedMatrix *matrix, int numberSets, const int *start, const int *end, const double *lower, const double *upper, const unsigned char *status=NULL) |
| This takes over ownership (for space reasons) and is the real constructor. More...
|
|
ClpGubMatrix & | operator= (const ClpGubMatrix &) |
| The copy constructor. More...
|
|
virtual ClpMatrixBase * | clone () const |
| Clone. More...
|
|
virtual ClpMatrixBase * | subsetClone (int numberRows, const int *whichRows, int numberColumns, const int *whichColumns) const |
| Subset clone (without gaps). More...
|
|
void | redoSet (ClpSimplex *model, int newKey, int oldKey, int iSet) |
| redoes next_ for a set. More...
|
|
|
ClpSimplex::Status | getStatus (int sequence) const |
| Status. More...
|
|
void | setStatus (int sequence, ClpSimplex::Status status) |
| Status. More...
|
|
void | setFlagged (int sequence) |
| To flag a variable. More...
|
|
void | clearFlagged (int sequence) |
| Status. More...
|
|
bool | flagged (int sequence) const |
| Status. More...
|
|
void | setAbove (int sequence) |
| To say key is above ub. More...
|
|
void | setFeasible (int sequence) |
| To say key is feasible. More...
|
|
void | setBelow (int sequence) |
| To say key is below lb. More...
|
|
double | weight (int sequence) const |
| Status. More...
|
|
int * | start () const |
| Starts. More...
|
|
int * | end () const |
| End. More...
|
|
double * | lower () const |
| Lower bounds on sets. More...
|
|
double * | upper () const |
| Upper bounds on sets. More...
|
|
int * | keyVariable () const |
| Key variable of set. More...
|
|
int * | backward () const |
| Backward pointer to set number. More...
|
|
int | numberSets () const |
| Number of sets (gub rows) More...
|
|
void | switchOffCheck () |
| Switches off dj checking each factorization (for BIG models) More...
|
|
virtual CoinPackedMatrix * | getPackedMatrix () const |
| Return a complete CoinPackedMatrix. More...
|
|
virtual bool | isColOrdered () const |
| Whether the packed matrix is column major ordered or not. More...
|
|
virtual CoinBigIndex | getNumElements () const |
| Number of entries in the packed matrix. More...
|
|
virtual int | getNumCols () const |
| Number of columns. More...
|
|
virtual int | getNumRows () const |
| Number of rows. More...
|
|
virtual const double * | getElements () const |
| A vector containing the elements in the packed matrix. More...
|
|
double * | getMutableElements () const |
| Mutable elements. More...
|
|
virtual const int * | getIndices () const |
| A vector containing the minor indices of the elements in the packed matrix. More...
|
|
virtual const CoinBigIndex * | getVectorStarts () const |
| Return a complete CoinPackedMatrix. More...
|
|
virtual const int * | getVectorLengths () const |
| The lengths of the major-dimension vectors. More...
|
|
virtual int | getVectorLength (int index) const |
| The length of a single major-dimension vector. More...
|
|
virtual void | deleteCols (const int numDel, const int *indDel) |
| Delete the columns whose indices are listed in indDel . More...
|
|
virtual void | deleteRows (const int numDel, const int *indDel) |
| Delete the rows whose indices are listed in indDel . More...
|
|
virtual void | appendCols (int number, const CoinPackedVectorBase *const *columns) |
| Append Columns. More...
|
|
virtual void | appendRows (int number, const CoinPackedVectorBase *const *rows) |
| Append Rows. More...
|
|
virtual int | appendMatrix (int number, int type, const CoinBigIndex *starts, const int *index, const double *element, int numberOther=-1) |
| Append a set of rows/columns to the end of the matrix. More...
|
|
virtual void | replaceVector (const int index, const int numReplace, const double *newElements) |
| Replace the elements of a vector. More...
|
|
virtual void | modifyCoefficient (int row, int column, double newElement, bool keepZero=false) |
| Modify one element of packed matrix. More...
|
|
virtual int | scale (ClpModel *model, ClpSimplex *simplex=NULL) const |
| Creates scales for column copy (rowCopy in model may be modified) returns non-zero if no scaling done. More...
|
|
virtual void | scaleRowCopy (ClpModel *model) const |
| Scales rowCopy if column copy scaled Only called if scales already exist. More...
|
|
void | createScaledMatrix (ClpSimplex *model) const |
| Creates scaled column copy if scales exist. More...
|
|
virtual ClpMatrixBase * | scaledColumnCopy (ClpModel *model) const |
| Realy really scales column copy Only called if scales already exist. More...
|
|
virtual bool | allElementsInRange (ClpModel *model, double smallest, double largest, int check=15) |
| Checks if all elements are in valid range. More...
|
|
virtual void | rangeOfElements (double &smallestNegative, double &largestNegative, double &smallestPositive, double &largestPositive) |
| Returns largest and smallest elements of both signs. More...
|
|
virtual void | releasePackedMatrix () const |
| Allow any parts of a created CoinPackedMatrix to be deleted. More...
|
|
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). More...
|
|
virtual bool | canDoPartialPricing () const |
| Says whether it can do partial pricing. More...
|
|
virtual int | refresh (ClpSimplex *model) |
| makes sure active columns correct More...
|
|
virtual void | reallyScale (const double *rowScale, const double *columnScale) |
| Return a complete CoinPackedMatrix. More...
|
|
virtual void | setDimensions (int numrows, int numcols) |
| Set the dimensions of the matrix. More...
|
|
virtual void | times (double scalar, const double *x, double *y) const |
| Return y + A * scalar *x in y . More...
|
|
virtual void | times (double scalar, const double *x, double *y, const double *rowScale, const double *columnScale) const |
| And for scaling. More...
|
|
virtual void | transposeTimes (double scalar, const double *x, double *y) const |
| Return y + x * scalar * A in y . More...
|
|
virtual void | transposeTimes (double scalar, const double *x, double *y, const double *rowScale, const double *columnScale, double *spare=NULL) const |
| And for scaling. More...
|
|
void | transposeTimesSubset (int number, const int *which, const double *pi, double *y, const double *rowScale, const double *columnScale, double *spare=NULL) const |
| Return y - pi * A in y . More...
|
|
void | transposeTimesByColumn (const ClpSimplex *model, double scalar, const CoinIndexedVector *x, CoinIndexedVector *y, CoinIndexedVector *z) const |
| Return x * scalar * A in z . More...
|
|
virtual bool | canCombine (const ClpSimplex *model, const CoinIndexedVector *pi) const |
| Returns true if can combine transposeTimes and subsetTransposeTimes and if it would be faster. More...
|
|
virtual int | transposeTimes2 (const ClpSimplex *model, const CoinIndexedVector *pi1, CoinIndexedVector *dj1, const CoinIndexedVector *pi2, CoinIndexedVector *spare, double *infeas, double *reducedCost, double referenceIn, double devex, unsigned int *reference, double *weights, double scaleFactor) |
| Updates two arrays for steepest and does devex weights Returns nonzero if updates reduced cost and infeas - new infeas in dj1. More...
|
|
virtual void | subsetTimes2 (const ClpSimplex *model, CoinIndexedVector *dj1, const CoinIndexedVector *pi2, CoinIndexedVector *dj2, double referenceIn, double devex, unsigned int *reference, double *weights, double scaleFactor) |
| Updates second array for steepest and does devex weights. More...
|
|
void | useEffectiveRhs (ClpSimplex *model) |
| Sets up an effective RHS. More...
|
|
CoinPackedMatrix * | matrix () const |
| Returns CoinPackedMatrix (non const) More...
|
|
void | setMatrixNull () |
| Just sets matrix_ to NULL so it can be used elsewhere. More...
|
|
void | makeSpecialColumnCopy () |
| Say we want special column copy. More...
|
|
void | releaseSpecialColumnCopy () |
| Say we don't want special column copy. More...
|
|
bool | zeros () const |
| Are there zeros? More...
|
|
bool | wantsSpecialColumnCopy () const |
| Do we want special column copy. More...
|
|
int | flags () const |
| Flags. More...
|
|
void | checkGaps () |
| Sets flags_ correctly. More...
|
|
int | numberActiveColumns () const |
| number of active columns (normally same as number of columns) More...
|
|
void | setNumberActiveColumns (int value) |
| Set number of active columns (normally same as number of columns) More...
|
|
| ClpPackedMatrix () |
| Default constructor. More...
|
|
virtual | ~ClpPackedMatrix () |
| Destructor. More...
|
|
| ClpPackedMatrix (const ClpPackedMatrix &) |
| The copy constructor. More...
|
|
| ClpPackedMatrix (const CoinPackedMatrix &) |
| The copy constructor from an CoinPackedMatrix. More...
|
|
| ClpPackedMatrix (const ClpPackedMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns) |
| Subset constructor (without gaps). More...
|
|
| ClpPackedMatrix (const CoinPackedMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns) |
| The copy constructor. More...
|
|
| ClpPackedMatrix (CoinPackedMatrix *matrix) |
| This takes over ownership (for space reasons) More...
|
|
ClpPackedMatrix & | operator= (const ClpPackedMatrix &) |
| The copy constructor. More...
|
|
virtual void | copy (const ClpPackedMatrix *from) |
| Copy contents - resizing if necessary - otherwise re-use memory. More...
|
|
void | specialRowCopy (ClpSimplex *model, const ClpMatrixBase *rowCopy) |
| make special row copy More...
|
|
void | specialColumnCopy (ClpSimplex *model) |
| make special column copy More...
|
|
virtual bool | canGetRowCopy () const |
| Returns true if can create row copy. More...
|
|
virtual void | createVariable (ClpSimplex *model, int &bestSequence) |
| Creates a variable. More...
|
|
virtual int | checkFeasible (ClpSimplex *model, double &sum) const |
| Just for debug if odd type matrix. More...
|
|
double | reducedCost (ClpSimplex *model, int sequence) const |
| Returns reduced cost of a variable. More...
|
|
virtual void | times (double scalar, const double *COIN_RESTRICT x, double *COIN_RESTRICT y) const =0 |
| Return y + A * x * scalar in y . More...
|
|
virtual void | times (double scalar, const double *COIN_RESTRICT x, double *COIN_RESTRICT y, const double *COIN_RESTRICT rowScale, const double *COIN_RESTRICT columnScale) const |
| And for scaling - default aborts for when scaling not supported (unless pointers NULL when as normal) More...
|
|
virtual void | transposeTimes (double scalar, const double *COIN_RESTRICT x, double *COIN_RESTRICT y) const =0 |
| Return y + x * scalar * A in y . More...
|
|
virtual void | transposeTimes (double scalar, const double *COIN_RESTRICT x, double *COIN_RESTRICT y, const double *COIN_RESTRICT rowScale, const double *COIN_RESTRICT columnScale, double *COIN_RESTRICT spare=NULL) const |
| And for scaling - default aborts for when scaling not supported (unless pointers NULL when as normal) More...
|
|
virtual void | listTransposeTimes (const ClpSimplex *model, double *x, int *y, int number, double *z) const |
| Return x *A in z but just for number indices in y. More...
|
|
virtual void | backToBasics () |
| Gets rid of any mutable by products. More...
|
|
int | type () const |
| Returns type. More...
|
|
void | setType (int newtype) |
| Sets type. More...
|
|
void | useEffectiveRhs (ClpSimplex *model) |
| Sets up an effective RHS. More...
|
|
int | lastRefresh () const |
| If rhsOffset used this is iteration last refreshed. More...
|
|
int | refreshFrequency () const |
| If rhsOffset used this is refresh frequency (0==off) More...
|
|
void | setRefreshFrequency (int value) |
| Subset clone (without gaps). More...
|
|
bool | skipDualCheck () const |
| whether to skip dual checks most of time More...
|
|
void | setSkipDualCheck (bool yes) |
| Subset clone (without gaps). More...
|
|
int | minimumObjectsScan () const |
| Partial pricing tuning parameter - minimum number of "objects" to scan. More...
|
|
void | setMinimumObjectsScan (int value) |
| Subset clone (without gaps). More...
|
|
int | minimumGoodReducedCosts () const |
| Partial pricing tuning parameter - minimum number of negative reduced costs to get. More...
|
|
void | setMinimumGoodReducedCosts (int value) |
| Subset clone (without gaps). More...
|
|
double | startFraction () const |
| Current start of search space in matrix (as fraction) More...
|
|
void | setStartFraction (double value) |
| Subset clone (without gaps). More...
|
|
double | endFraction () const |
| Current end of search space in matrix (as fraction) More...
|
|
void | setEndFraction (double value) |
| Subset clone (without gaps). More...
|
|
double | savedBestDj () const |
| Current best reduced cost. More...
|
|
void | setSavedBestDj (double value) |
| Subset clone (without gaps). More...
|
|
int | originalWanted () const |
| Initial number of negative reduced costs wanted. More...
|
|
void | setOriginalWanted (int value) |
| Subset clone (without gaps). More...
|
|
int | currentWanted () const |
| Current number of negative reduced costs which we still need. More...
|
|
void | setCurrentWanted (int value) |
| Subset clone (without gaps). More...
|
|
int | savedBestSequence () const |
| Current best sequence. More...
|
|
void | setSavedBestSequence (int value) |
| Subset clone (without gaps). More...
|
|
virtual | ~ClpMatrixBase () |
| Destructor (has to be public) More...
|
|