| Clp
    1.17.6
    | 
This implements Gub rows plus a ClpPackedMatrix. More...
#include <ClpGubDynamicMatrix.hpp>
 Inheritance diagram for ClpGubDynamicMatrix:
 Inheritance diagram for ClpGubDynamicMatrix: Collaboration diagram for ClpGubDynamicMatrix:
 Collaboration diagram for ClpGubDynamicMatrix:| Public Member Functions | |
| Main functions provided | |
| virtual void | partialPricing (ClpSimplex *model, double start, double end, int &bestSequence, int &numberWanted) | 
| Partial pricing.  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=8 - make sure set is clean mode=9 - adjust lower, upper on set by incoming.  More... | |
| virtual void | useEffectiveRhs (ClpSimplex *model, bool cheapest=true) | 
| Sets up an effective RHS and does gub crash if needed.  More... | |
| virtual int | updatePivot (ClpSimplex *model, double oldInValue, double oldOutValue) | 
| update information for a pivot (and effective rhs)  More... | |
| void | insertNonBasic (int sequence, int iSet) | 
| Add a new variable to a set.  More... | |
| virtual double * | rhsOffset (ClpSimplex *model, bool forceRefresh=false, bool check=false) | 
| Returns effective RHS offset if it is being used.  More... | |
| virtual void | times (double scalar, const double *x, double *y) const | 
| Return y + A * scalar *xiny.  More... | |
| virtual int | checkFeasible (ClpSimplex *model, double &sum) const | 
| Just for debug Returns sum and number of primal infeasibilities.  More... | |
| void | cleanData (ClpSimplex *model) | 
| Cleans data after setWarmStart.  More... | |
| Constructors, destructor | |
| ClpGubDynamicMatrix () | |
| Default constructor.  More... | |
| virtual | ~ClpGubDynamicMatrix () | 
| Destructor.  More... | |
| Copy method | |
| ClpGubDynamicMatrix (const ClpGubDynamicMatrix &) | |
| The copy constructor.  More... | |
| ClpGubDynamicMatrix (ClpSimplex *model, int numberSets, int numberColumns, const int *starts, const double *lower, const double *upper, const CoinBigIndex *startColumn, const int *row, const double *element, const double *cost, const double *lowerColumn=NULL, const double *upperColumn=NULL, const unsigned char *status=NULL) | |
| This is the real constructor.  More... | |
| ClpGubDynamicMatrix & | operator= (const ClpGubDynamicMatrix &) | 
| virtual ClpMatrixBase * | clone () const | 
| Clone.  More... | |
|  Public Member Functions inherited from ClpGubMatrix | |
| 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 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 + yinz.  More... | |
| virtual void | transposeTimesByRow (const ClpSimplex *model, double scalar, const CoinIndexedVector *x, CoinIndexedVector *y, CoinIndexedVector *z) const | 
| Return x * scalar * A + yinz.  More... | |
| virtual void | subsetTransposeTimes (const ClpSimplex *model, const CoinIndexedVector *x, const CoinIndexedVector *y, CoinIndexedVector *z) const | 
| Return x *Ainzbut 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 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) | |
| 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 &) | 
| 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) | 
| void | setFlagged (int sequence) | 
| To flag a variable.  More... | |
| void | clearFlagged (int sequence) | 
| bool | flagged (int sequence) const | 
| 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 | 
| 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... | |
|  Public Member Functions inherited from ClpPackedMatrix | |
| 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 | 
| 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) | 
| 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 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 * Ainy.  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 * Ainy.  More... | |
| void | transposeTimesByColumn (const ClpSimplex *model, double scalar, const CoinIndexedVector *x, CoinIndexedVector *y, CoinIndexedVector *z) const | 
| Return x * scalar * A in 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) | |
| ClpPackedMatrix (CoinPackedMatrix *matrix) | |
| This takes over ownership (for space reasons)  More... | |
| ClpPackedMatrix & | operator= (const ClpPackedMatrix &) | 
| 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... | |
|  Public Member Functions inherited from ClpMatrixBase | |
| virtual bool | canGetRowCopy () const | 
| Returns true if can create row copy.  More... | |
| virtual void | createVariable (ClpSimplex *model, int &bestSequence) | 
| Creates a variable.  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 * scalariny.  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 * Ainy.  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 *Ainzbut 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) | 
| bool | skipDualCheck () const | 
| whether to skip dual checks most of time  More... | |
| void | setSkipDualCheck (bool yes) | 
| 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) | 
| virtual | ~ClpMatrixBase () | 
| Destructor (has to be public)  More... | |
| Protected Attributes | |
| Data members | |
| The data members are protected to allow access for derived classes. | |
| double | objectiveOffset_ | 
| Saved value of objective offset.  More... | |
| CoinBigIndex * | startColumn_ | 
| Starts of each column.  More... | |
| int * | row_ | 
| rows  More... | |
| double * | element_ | 
| elements  More... | |
| double * | cost_ | 
| costs  More... | |
| int * | fullStart_ | 
| full starts  More... | |
| int * | id_ | 
| ids of active columns (just index here)  More... | |
| unsigned char * | dynamicStatus_ | 
| for status and which bound  More... | |
| double * | lowerColumn_ | 
| Optional lower bounds on columns.  More... | |
| double * | upperColumn_ | 
| Optional upper bounds on columns.  More... | |
| double * | lowerSet_ | 
| Optional true lower bounds on sets.  More... | |
| double * | upperSet_ | 
| Optional true upper bounds on sets.  More... | |
| int | numberGubColumns_ | 
| size  More... | |
| int | firstAvailable_ | 
| first free  More... | |
| int | savedFirstAvailable_ | 
| saved first free  More... | |
| int | firstDynamic_ | 
| first dynamic  More... | |
| int | lastDynamic_ | 
| number of columns in dynamic model  More... | |
| CoinBigIndex | numberElements_ | 
| size of working matrix (max)  More... | |
|  Protected Attributes inherited from ClpGubMatrix | |
| double | sumDualInfeasibilities_ | 
| Sum of dual infeasibilities.  More... | |
| double | sumPrimalInfeasibilities_ | 
| Sum of primal infeasibilities.  More... | |
| double | sumOfRelaxedDualInfeasibilities_ | 
| Sum of Dual infeasibilities using tolerance based on error in duals.  More... | |
| double | sumOfRelaxedPrimalInfeasibilities_ | 
| Sum of Primal infeasibilities using tolerance based on error in primals.  More... | |
| double | infeasibilityWeight_ | 
| Infeasibility weight when last full pass done.  More... | |
| int * | start_ | 
| Starts.  More... | |
| int * | end_ | 
| End.  More... | |
| double * | lower_ | 
| Lower bounds on sets.  More... | |
| double * | upper_ | 
| Upper bounds on sets.  More... | |
| unsigned char * | status_ | 
| Status of slacks.  More... | |
| unsigned char * | saveStatus_ | 
| Saved status of slacks.  More... | |
| int * | savedKeyVariable_ | 
| Saved key variables.  More... | |
| int * | backward_ | 
| Backward pointer to set number.  More... | |
| int * | backToPivotRow_ | 
| Backward pointer to pivot row !!!  More... | |
| double * | changeCost_ | 
| Change in costs for keys.  More... | |
| int * | keyVariable_ | 
| Key variable of set.  More... | |
| int * | next_ | 
| Next basic variable in set - starts at key and end with -(set+1).  More... | |
| int * | toIndex_ | 
| Backward pointer to index in CoinIndexedVector.  More... | |
| int * | fromIndex_ | 
| ClpSimplex * | model_ | 
| Pointer back to model.  More... | |
| int | numberDualInfeasibilities_ | 
| Number of dual infeasibilities.  More... | |
| int | numberPrimalInfeasibilities_ | 
| Number of primal infeasibilities.  More... | |
| int | noCheck_ | 
| If pricing will declare victory (i.e.  More... | |
| int | numberSets_ | 
| Number of sets (gub rows)  More... | |
| int | saveNumber_ | 
| Number in vector without gub extension.  More... | |
| int | possiblePivotKey_ | 
| Pivot row of possible next key.  More... | |
| int | gubSlackIn_ | 
| Gub slack in (set number or -1)  More... | |
| int | firstGub_ | 
| First gub variables (same as start_[0] at present)  More... | |
| int | lastGub_ | 
| last gub variable (same as end_[numberSets_-1] at present)  More... | |
| int | gubType_ | 
| type of gub - 0 not contiguous, 1 contiguous add 8 bit to say no ubs on individual variables  More... | |
|  Protected Attributes inherited from ClpPackedMatrix | |
| CoinPackedMatrix * | matrix_ | 
| Data.  More... | |
| int | numberActiveColumns_ | 
| number of active columns (normally same as number of columns)  More... | |
| int | flags_ | 
| Flags - 1 - has zero elements 2 - has gaps 4 - has special row copy 8 - has special column copy 16 - wants special column copy.  More... | |
| ClpPackedMatrix2 * | rowCopy_ | 
| Special row copy.  More... | |
| ClpPackedMatrix3 * | columnCopy_ | 
| Special column copy.  More... | |
|  Protected Attributes inherited from ClpMatrixBase | |
| double * | rhsOffset_ | 
| Effective RHS offset if it is being used.  More... | |
| double | startFraction_ | 
| Current start of search space in matrix (as fraction)  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 | type_ | 
| type (may be useful)  More... | |
| int | lastRefresh_ | 
| If rhsOffset used this is iteration last refreshed.  More... | |
| int | refreshFrequency_ | 
| If rhsOffset used this is refresh frequency (0==off)  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... | |
| int | trueSequenceIn_ | 
| True sequence in (i.e. from larger problem)  More... | |
| int | trueSequenceOut_ | 
| True sequence out (i.e. from larger problem)  More... | |
| bool | skipDualCheck_ | 
| whether to skip dual checks most of time  More... | |
| gets and sets | |
| enum | DynamicStatus { inSmall = 0x01, atUpperBound = 0x02, atLowerBound = 0x03 } | 
| enums for status of various sorts  More... | |
| bool | flagged (int i) const | 
| Whether flagged.  More... | |
| void | setFlagged (int i) | 
| void | unsetFlagged (int i) | 
| void | setDynamicStatus (int sequence, DynamicStatus status) | 
| DynamicStatus | getDynamicStatus (int sequence) const | 
| double | objectiveOffset () const | 
| Saved value of objective offset.  More... | |
| CoinBigIndex * | startColumn () const | 
| Starts of each column.  More... | |
| int * | row () const | 
| rows  More... | |
| double * | element () const | 
| elements  More... | |
| double * | cost () const | 
| costs  More... | |
| int * | fullStart () const | 
| full starts  More... | |
| int * | id () const | 
| ids of active columns (just index here)  More... | |
| double * | lowerColumn () const | 
| Optional lower bounds on columns.  More... | |
| double * | upperColumn () const | 
| Optional upper bounds on columns.  More... | |
| double * | lowerSet () const | 
| Optional true lower bounds on sets.  More... | |
| double * | upperSet () const | 
| Optional true upper bounds on sets.  More... | |
| int | numberGubColumns () const | 
| size  More... | |
| int | firstAvailable () const | 
| first free  More... | |
| void | setFirstAvailable (int value) | 
| set first free  More... | |
| int | firstDynamic () const | 
| first dynamic  More... | |
| int | lastDynamic () const | 
| number of columns in dynamic model  More... | |
| CoinBigIndex | numberElements () const | 
| size of working matrix (max)  More... | |
| unsigned char * | gubRowStatus () const | 
| Status region for gub slacks.  More... | |
| unsigned char * | dynamicStatus () const | 
| Status region for gub variables.  More... | |
| int | whichSet (int sequence) const | 
| Returns which set a variable is in.  More... | |
| Additional Inherited Members | |
|  Protected Member Functions inherited from ClpPackedMatrix | |
| void | checkFlags (int type) const | 
| Check validity.  More... | |
|  Protected Member Functions inherited from ClpMatrixBase | |
| ClpMatrixBase () | |
| Default constructor.  More... | |
| ClpMatrixBase (const ClpMatrixBase &) | |
| ClpMatrixBase & | operator= (const ClpMatrixBase &) | 
This implements Gub rows plus a ClpPackedMatrix.
This a dynamic version which stores the gub part and dynamically creates matrix. All bounds are assumed to be zero and infinity
This is just a simple example for real column generation
Definition at line 19 of file ClpGubDynamicMatrix.hpp.
enums for status of various sorts
| Enumerator | |
|---|---|
| inSmall | |
| atUpperBound | |
| atLowerBound | |
Definition at line 97 of file ClpGubDynamicMatrix.hpp.
| ClpGubDynamicMatrix::ClpGubDynamicMatrix | ( | ) | 
Default constructor.
| 
 | virtual | 
Destructor.
| ClpGubDynamicMatrix::ClpGubDynamicMatrix | ( | const ClpGubDynamicMatrix & | ) | 
The copy constructor.
| ClpGubDynamicMatrix::ClpGubDynamicMatrix | ( | ClpSimplex * | model, | 
| int | numberSets, | ||
| int | numberColumns, | ||
| const int * | starts, | ||
| const double * | lower, | ||
| const double * | upper, | ||
| const CoinBigIndex * | startColumn, | ||
| const int * | row, | ||
| const double * | element, | ||
| const double * | cost, | ||
| const double * | lowerColumn = NULL, | ||
| const double * | upperColumn = NULL, | ||
| const unsigned char * | status = NULL | ||
| ) | 
This is the real constructor.
It assumes factorization frequency will not be changed. This resizes model !!!!
| 
 | virtual | 
Partial pricing.
Reimplemented from ClpGubMatrix.
| 
 | virtual | 
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=8 - make sure set is clean mode=9 - adjust lower, upper on set by incoming.
Reimplemented from ClpGubMatrix.
| 
 | virtual | 
Sets up an effective RHS and does gub crash if needed.
Reimplemented from ClpGubMatrix.
| 
 | virtual | 
update information for a pivot (and effective rhs)
Reimplemented from ClpGubMatrix.
| void ClpGubDynamicMatrix::insertNonBasic | ( | int | sequence, | 
| int | iSet | ||
| ) | 
Add a new variable to a set.
| 
 | virtual | 
Returns effective RHS offset if it is being used.
This is used for long problems or big gub or anywhere where going through full columns is expensive. This may re-compute
Reimplemented from ClpGubMatrix.
| 
 | virtual | 
Return y + A * scalar *x in y. 
x must be of size numColumns() y must be of size numRows() Reimplemented from ClpPackedMatrix.
| 
 | virtual | 
Just for debug Returns sum and number of primal infeasibilities.
Recomputes keys
Reimplemented from ClpMatrixBase.
| void ClpGubDynamicMatrix::cleanData | ( | ClpSimplex * | model | ) | 
Cleans data after setWarmStart.
| ClpGubDynamicMatrix& ClpGubDynamicMatrix::operator= | ( | const ClpGubDynamicMatrix & | ) | 
| 
 | virtual | 
Clone.
Reimplemented from ClpGubMatrix.
| 
 | inline | 
Whether flagged.
Definition at line 103 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Definition at line 107 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Definition at line 111 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Definition at line 115 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Definition at line 121 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Saved value of objective offset.
Definition at line 126 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Starts of each column.
Definition at line 131 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
rows
Definition at line 136 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
elements
Definition at line 141 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
costs
Definition at line 146 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
full starts
Definition at line 151 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
ids of active columns (just index here)
Definition at line 156 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Optional lower bounds on columns.
Definition at line 161 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Optional upper bounds on columns.
Definition at line 166 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Optional true lower bounds on sets.
Definition at line 171 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Optional true upper bounds on sets.
Definition at line 176 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
size
Definition at line 181 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
first free
Definition at line 186 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
set first free
Definition at line 191 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
first dynamic
Definition at line 196 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
number of columns in dynamic model
Definition at line 201 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
size of working matrix (max)
Definition at line 206 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Status region for gub slacks.
Definition at line 211 of file ClpGubDynamicMatrix.hpp.
| 
 | inline | 
Status region for gub variables.
Definition at line 216 of file ClpGubDynamicMatrix.hpp.
| int ClpGubDynamicMatrix::whichSet | ( | int | sequence | ) | const | 
Returns which set a variable is in.
| 
 | protected | 
Saved value of objective offset.
Definition at line 229 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
Starts of each column.
Definition at line 231 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
rows
Definition at line 233 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
elements
Definition at line 235 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
costs
Definition at line 237 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
full starts
Definition at line 239 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
ids of active columns (just index here)
Definition at line 241 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
for status and which bound
Definition at line 243 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
Optional lower bounds on columns.
Definition at line 245 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
Optional upper bounds on columns.
Definition at line 247 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
Optional true lower bounds on sets.
Definition at line 249 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
Optional true upper bounds on sets.
Definition at line 251 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
size
Definition at line 253 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
first free
Definition at line 255 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
saved first free
Definition at line 257 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
first dynamic
Definition at line 259 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
number of columns in dynamic model
Definition at line 261 of file ClpGubDynamicMatrix.hpp.
| 
 | protected | 
size of working matrix (max)
Definition at line 263 of file ClpGubDynamicMatrix.hpp.
 1.8.5
 1.8.5