This implements Gub rows plus a ClpPackedMatrix. More...
#include <ClpGubMatrix.hpp>
Public Member Functions | |
Main functions provided | |
virtual ClpMatrixBase * | reverseOrderedCopy () const |
Returns a new matrix in reverse order without gaps (GUB wants NULL). | |
virtual CoinBigIndex | countBasis (ClpSimplex *model, const int *whichColumn, int numberRowBasic, int &numberColumnBasic) |
Returns number of elements in column part of basis. | |
virtual void | fillBasis (ClpSimplex *model, const int *whichColumn, int &numberColumnBasic, int *row, int *start, int *rowCount, int *columnCount, double *element) |
Fills in column part of basis. | |
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 foramt 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 | partialPricing (ClpSimplex *model, double start, double end, int &bestSequence, int &numberWanted) |
Partial pricing. | |
virtual int | hiddenRows () const |
Returns number of hidden rows e.g. gub. | |
Matrix times vector methods | |
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 | transposeTimesByRow (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. | |
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. | |
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. | |
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. | |
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 | |
virtual int | updatePivot (ClpSimplex *model, double oldInValue, double oldOutValue) |
update information for a pivot (and effective rhs) | |
virtual void | useEffectiveRhs (ClpSimplex *model, bool cheapest=true) |
Sets up an effective RHS and does gub crash if needed. | |
virtual double * | rhsOffset (ClpSimplex *model, bool forceRefresh=false, bool check=false) |
Returns effective RHS offset if it is being used. | |
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. | |
virtual void | correctSequence (const ClpSimplex *model, int &sequenceIn, int &sequenceOut) |
Correct sequence in and out to give true value. | |
Constructors, destructor | |
ClpGubMatrix () | |
Default constructor. | |
virtual | ~ClpGubMatrix () |
Destructor. | |
Copy method | |
ClpGubMatrix (const ClpGubMatrix &) | |
The copy constructor. | |
ClpGubMatrix (const CoinPackedMatrix &) | |
The copy constructor from an CoinPackedMatrix. | |
ClpGubMatrix (const ClpGubMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns) | |
Subset constructor (without gaps). | |
ClpGubMatrix (const CoinPackedMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns) | |
The copy constructor. | |
ClpGubMatrix (CoinPackedMatrix *matrix) | |
This takes over ownership (for space reasons). | |
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. | |
ClpGubMatrix & | operator= (const ClpGubMatrix &) |
The copy constructor. | |
virtual ClpMatrixBase * | clone () const |
Clone. | |
virtual ClpMatrixBase * | subsetClone (int numberRows, const int *whichRows, int numberColumns, const int *whichColumns) const |
Subset clone (without gaps). | |
void | redoSet (ClpSimplex *model, int newKey, int oldKey, int iSet) |
redoes next_ for a set. | |
gets and sets | |
ClpSimplex::Status | getStatus (int sequence) const |
Status. | |
void | setStatus (int sequence, ClpSimplex::Status status) |
Status. | |
void | setFlagged (int sequence) |
To flag a variable. | |
void | clearFlagged (int sequence) |
Status. | |
bool | flagged (int sequence) const |
Status. | |
void | setAbove (int sequence) |
To say key is above ub. | |
void | setFeasible (int sequence) |
To say key is feasible. | |
void | setBelow (int sequence) |
To say key is below lb. | |
double | weight (int sequence) const |
Status. | |
int * | start () const |
Starts. | |
int * | end () const |
End. | |
double * | lower () const |
Lower bounds on sets. | |
double * | upper () const |
Upper bounds on sets. | |
int * | keyVariable () const |
Key variable of set. | |
int * | backward () const |
Backward pointer to set number. | |
int | numberSets () const |
Number of sets (gub rows). | |
void | switchOffCheck () |
Switches off dj checking each factorization (for BIG models). | |
Protected Attributes | |
Data members | |
double | sumDualInfeasibilities_ |
Sum of dual infeasibilities. | |
double | sumPrimalInfeasibilities_ |
Sum of primal infeasibilities. | |
double | sumOfRelaxedDualInfeasibilities_ |
Sum of Dual infeasibilities using tolerance based on error in duals. | |
double | sumOfRelaxedPrimalInfeasibilities_ |
Sum of Primal infeasibilities using tolerance based on error in primals. | |
double | infeasibilityWeight_ |
Infeasibility weight when last full pass done. | |
int * | start_ |
Starts. | |
int * | end_ |
End. | |
double * | lower_ |
Lower bounds on sets. | |
double * | upper_ |
Upper bounds on sets. | |
unsigned char * | status_ |
Status of slacks. | |
unsigned char * | saveStatus_ |
Saved status of slacks. | |
int * | savedKeyVariable_ |
Saved key variables. | |
int * | backward_ |
Backward pointer to set number. | |
int * | backToPivotRow_ |
Backward pointer to pivot row !!! | |
double * | changeCost_ |
Change in costs for keys. | |
int * | keyVariable_ |
Key variable of set. | |
int * | next_ |
Next basic variable in set - starts at key and end with -(set+1). | |
int * | toIndex_ |
Backward pointer to index in CoinIndexedVector. | |
int * | fromIndex_ |
Sum of dual infeasibilities. | |
ClpSimplex * | model_ |
Pointer back to model. | |
int | numberDualInfeasibilities_ |
Number of dual infeasibilities. | |
int | numberPrimalInfeasibilities_ |
Number of primal infeasibilities. | |
int | noCheck_ |
If pricing will declare victory (i.e. | |
int | numberSets_ |
Number of sets (gub rows). | |
int | saveNumber_ |
Number in vector without gub extension. | |
int | possiblePivotKey_ |
Pivot row of possible next key. | |
int | gubSlackIn_ |
Gub slack in (set number or -1). | |
int | firstGub_ |
First gub variables (same as start_[0] at present). | |
int | lastGub_ |
last gub variable (same as end_[numberSets_-1] at present) | |
int | gubType_ |
type of gub - 0 not contiguous, 1 contiguous add 8 bit to say no ubs on individual variables |
This implements Gub rows plus a ClpPackedMatrix.
There will be a version using ClpPlusMinusOne matrix but there is no point doing one with ClpNetworkMatrix (although an embedded network is attractive).
Definition at line 19 of file ClpGubMatrix.hpp.
ClpGubMatrix::ClpGubMatrix | ( | ) |
Default constructor.
virtual ClpGubMatrix::~ClpGubMatrix | ( | ) | [virtual] |
Destructor.
ClpGubMatrix::ClpGubMatrix | ( | const ClpGubMatrix & | ) |
The copy constructor.
ClpGubMatrix::ClpGubMatrix | ( | const CoinPackedMatrix & | ) |
The copy constructor from an CoinPackedMatrix.
ClpGubMatrix::ClpGubMatrix | ( | const ClpGubMatrix & | wholeModel, | |
int | numberRows, | |||
const int * | whichRows, | |||
int | numberColumns, | |||
const int * | whichColumns | |||
) |
Subset constructor (without gaps).
Duplicates are allowed and order is as given
ClpGubMatrix::ClpGubMatrix | ( | const CoinPackedMatrix & | wholeModel, | |
int | numberRows, | |||
const int * | whichRows, | |||
int | numberColumns, | |||
const int * | whichColumns | |||
) |
The copy constructor.
ClpGubMatrix::ClpGubMatrix | ( | CoinPackedMatrix * | matrix | ) |
This takes over ownership (for space reasons).
ClpGubMatrix::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.
virtual ClpMatrixBase* ClpGubMatrix::reverseOrderedCopy | ( | ) | const [virtual] |
Returns a new matrix in reverse order without gaps (GUB wants NULL).
Reimplemented from ClpPackedMatrix.
virtual CoinBigIndex ClpGubMatrix::countBasis | ( | ClpSimplex * | model, | |
const int * | whichColumn, | |||
int | numberRowBasic, | |||
int & | numberColumnBasic | |||
) | [virtual] |
Returns number of elements in column part of basis.
Reimplemented from ClpPackedMatrix.
virtual void ClpGubMatrix::fillBasis | ( | ClpSimplex * | model, | |
const int * | whichColumn, | |||
int & | numberColumnBasic, | |||
int * | row, | |||
int * | start, | |||
int * | rowCount, | |||
int * | columnCount, | |||
double * | element | |||
) | [virtual] |
Fills in column part of basis.
Reimplemented from ClpPackedMatrix.
virtual void ClpGubMatrix::unpack | ( | const ClpSimplex * | model, | |
CoinIndexedVector * | rowArray, | |||
int | column | |||
) | const [virtual] |
Unpacks a column into an CoinIndexedvector.
Reimplemented from ClpPackedMatrix.
virtual void ClpGubMatrix::unpackPacked | ( | ClpSimplex * | model, | |
CoinIndexedVector * | rowArray, | |||
int | column | |||
) | const [virtual] |
Unpacks a column into an CoinIndexedvector in packed foramt Note that model is NOT const.
Bounds and objective could be modified if doing column generation (just for this variable)
Reimplemented from ClpPackedMatrix.
virtual void ClpGubMatrix::add | ( | const ClpSimplex * | model, | |
CoinIndexedVector * | rowArray, | |||
int | column, | |||
double | multiplier | |||
) | const [virtual] |
Adds multiple of a column into an CoinIndexedvector You can use quickAdd to add to vector.
Reimplemented from ClpPackedMatrix.
virtual void ClpGubMatrix::add | ( | const ClpSimplex * | model, | |
double * | array, | |||
int | column, | |||
double | multiplier | |||
) | const [virtual] |
Adds multiple of a column into an array.
Reimplemented from ClpPackedMatrix.
virtual void ClpGubMatrix::partialPricing | ( | ClpSimplex * | model, | |
double | start, | |||
double | end, | |||
int & | bestSequence, | |||
int & | numberWanted | |||
) | [virtual] |
virtual int ClpGubMatrix::hiddenRows | ( | ) | const [virtual] |
Returns number of hidden rows e.g. gub.
Reimplemented from ClpMatrixBase.
virtual void ClpGubMatrix::transposeTimes | ( | const ClpSimplex * | model, | |
double | scalar, | |||
const CoinIndexedVector * | x, | |||
CoinIndexedVector * | y, | |||
CoinIndexedVector * | z | |||
) | const [virtual] |
Return x * scalar * A + y
in z
.
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
Reimplemented from ClpPackedMatrix.
virtual void ClpGubMatrix::transposeTimesByRow | ( | const ClpSimplex * | model, | |
double | scalar, | |||
const CoinIndexedVector * | x, | |||
CoinIndexedVector * | y, | |||
CoinIndexedVector * | z | |||
) | const [virtual] |
Return x * scalar * A + y
in z
.
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. This version uses row copy
Reimplemented from ClpPackedMatrix.
virtual void ClpGubMatrix::subsetTransposeTimes | ( | const ClpSimplex * | model, | |
const CoinIndexedVector * | x, | |||
const CoinIndexedVector * | y, | |||
CoinIndexedVector * | z | |||
) | const [virtual] |
Return x *A
in z
but just for indices in y.
Note - z always packed mode
Reimplemented from ClpPackedMatrix.
virtual int ClpGubMatrix::extendUpdated | ( | ClpSimplex * | model, | |
CoinIndexedVector * | update, | |||
int | mode | |||
) | [virtual] |
expands an updated column to allow for extra rows which the main solver does not know about and returns number added if mode 0.
If mode 1 deletes extra entries
This active in Gub
Reimplemented from ClpMatrixBase.
virtual void ClpGubMatrix::primalExpanded | ( | ClpSimplex * | model, | |
int | mode | |||
) | [virtual] |
mode=0 - Set up before "update" and "times" for primal solution using extended rows mode=1 - Cleanup primal solution after "times" using extended rows.
mode=2 - Check (or report on) primal infeasibilities
Reimplemented from ClpMatrixBase.
virtual void ClpGubMatrix::dualExpanded | ( | ClpSimplex * | model, | |
CoinIndexedVector * | array, | |||
double * | other, | |||
int | mode | |||
) | [virtual] |
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.
mode=2 - Compute all djs and compute key dual infeasibilities mode=3 - Report on key dual infeasibilities mode=4 - Modify before updateTranspose in partial pricing
Reimplemented from ClpMatrixBase.
virtual int ClpGubMatrix::generalExpanded | ( | ClpSimplex * | model, | |
int | mode, | |||
int & | number | |||
) | [virtual] |
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
Reimplemented from ClpMatrixBase.
virtual int ClpGubMatrix::updatePivot | ( | ClpSimplex * | model, | |
double | oldInValue, | |||
double | oldOutValue | |||
) | [virtual] |
update information for a pivot (and effective rhs)
Reimplemented from ClpMatrixBase.
Reimplemented in ClpGubDynamicMatrix.
virtual void ClpGubMatrix::useEffectiveRhs | ( | ClpSimplex * | model, | |
bool | cheapest = true | |||
) | [virtual] |
Sets up an effective RHS and does gub crash if needed.
Reimplemented in ClpGubDynamicMatrix.
virtual double* ClpGubMatrix::rhsOffset | ( | ClpSimplex * | model, | |
bool | forceRefresh = false , |
|||
bool | check = false | |||
) | [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 ClpMatrixBase.
Reimplemented in ClpGubDynamicMatrix.
virtual int ClpGubMatrix::synchronize | ( | ClpSimplex * | model, | |
int | mode | |||
) | [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=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.
Reimplemented in ClpGubDynamicMatrix.
virtual void ClpGubMatrix::correctSequence | ( | const ClpSimplex * | model, | |
int & | sequenceIn, | |||
int & | sequenceOut | |||
) | [virtual] |
Correct sequence in and out to give true value.
Reimplemented from ClpPackedMatrix.
ClpGubMatrix& ClpGubMatrix::operator= | ( | const ClpGubMatrix & | ) |
virtual ClpMatrixBase* ClpGubMatrix::clone | ( | ) | const [virtual] |
virtual ClpMatrixBase* ClpGubMatrix::subsetClone | ( | int | numberRows, | |
const int * | whichRows, | |||
int | numberColumns, | |||
const int * | whichColumns | |||
) | const [virtual] |
Subset clone (without gaps).
Duplicates are allowed and order is as given
Reimplemented from ClpPackedMatrix.
void ClpGubMatrix::redoSet | ( | ClpSimplex * | model, | |
int | newKey, | |||
int | oldKey, | |||
int | iSet | |||
) |
redoes next_ for a set.
ClpSimplex::Status ClpGubMatrix::getStatus | ( | int | sequence | ) | const [inline] |
Status.
Definition at line 209 of file ClpGubMatrix.hpp.
void ClpGubMatrix::setStatus | ( | int | sequence, | |
ClpSimplex::Status | status | |||
) | [inline] |
Status.
Definition at line 211 of file ClpGubMatrix.hpp.
void ClpGubMatrix::setFlagged | ( | int | sequence | ) | [inline] |
To flag a variable.
Reimplemented in ClpGubDynamicMatrix.
Definition at line 218 of file ClpGubMatrix.hpp.
void ClpGubMatrix::clearFlagged | ( | int | sequence | ) | [inline] |
Status.
Definition at line 222 of file ClpGubMatrix.hpp.
bool ClpGubMatrix::flagged | ( | int | sequence | ) | const [inline] |
void ClpGubMatrix::setAbove | ( | int | sequence | ) | [inline] |
To say key is above ub.
Definition at line 229 of file ClpGubMatrix.hpp.
void ClpGubMatrix::setFeasible | ( | int | sequence | ) | [inline] |
To say key is feasible.
Definition at line 236 of file ClpGubMatrix.hpp.
void ClpGubMatrix::setBelow | ( | int | sequence | ) | [inline] |
To say key is below lb.
Definition at line 243 of file ClpGubMatrix.hpp.
double ClpGubMatrix::weight | ( | int | sequence | ) | const [inline] |
Status.
Definition at line 249 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::start | ( | ) | const [inline] |
Starts.
Definition at line 256 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::end | ( | ) | const [inline] |
End.
Definition at line 259 of file ClpGubMatrix.hpp.
double* ClpGubMatrix::lower | ( | ) | const [inline] |
Lower bounds on sets.
Definition at line 262 of file ClpGubMatrix.hpp.
double* ClpGubMatrix::upper | ( | ) | const [inline] |
Upper bounds on sets.
Definition at line 265 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::keyVariable | ( | ) | const [inline] |
Key variable of set.
Definition at line 268 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::backward | ( | ) | const [inline] |
Backward pointer to set number.
Definition at line 271 of file ClpGubMatrix.hpp.
int ClpGubMatrix::numberSets | ( | ) | const [inline] |
Number of sets (gub rows).
Definition at line 274 of file ClpGubMatrix.hpp.
void ClpGubMatrix::switchOffCheck | ( | ) |
Switches off dj checking each factorization (for BIG models).
double ClpGubMatrix::sumDualInfeasibilities_ [protected] |
Sum of dual infeasibilities.
Definition at line 286 of file ClpGubMatrix.hpp.
double ClpGubMatrix::sumPrimalInfeasibilities_ [protected] |
Sum of primal infeasibilities.
Definition at line 288 of file ClpGubMatrix.hpp.
double ClpGubMatrix::sumOfRelaxedDualInfeasibilities_ [protected] |
Sum of Dual infeasibilities using tolerance based on error in duals.
Definition at line 290 of file ClpGubMatrix.hpp.
double ClpGubMatrix::sumOfRelaxedPrimalInfeasibilities_ [protected] |
Sum of Primal infeasibilities using tolerance based on error in primals.
Definition at line 292 of file ClpGubMatrix.hpp.
double ClpGubMatrix::infeasibilityWeight_ [protected] |
Infeasibility weight when last full pass done.
Definition at line 294 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::start_ [protected] |
Starts.
Definition at line 296 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::end_ [protected] |
End.
Definition at line 298 of file ClpGubMatrix.hpp.
double* ClpGubMatrix::lower_ [protected] |
Lower bounds on sets.
Definition at line 300 of file ClpGubMatrix.hpp.
double* ClpGubMatrix::upper_ [protected] |
Upper bounds on sets.
Definition at line 302 of file ClpGubMatrix.hpp.
unsigned char* ClpGubMatrix::status_ [mutable, protected] |
Status of slacks.
Definition at line 304 of file ClpGubMatrix.hpp.
unsigned char* ClpGubMatrix::saveStatus_ [protected] |
Saved status of slacks.
Definition at line 306 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::savedKeyVariable_ [protected] |
Saved key variables.
Definition at line 308 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::backward_ [protected] |
Backward pointer to set number.
Definition at line 310 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::backToPivotRow_ [protected] |
Backward pointer to pivot row !!!
Definition at line 312 of file ClpGubMatrix.hpp.
double* ClpGubMatrix::changeCost_ [protected] |
Change in costs for keys.
Definition at line 314 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::keyVariable_ [mutable, protected] |
Key variable of set.
Definition at line 316 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::next_ [mutable, protected] |
Next basic variable in set - starts at key and end with -(set+1).
Now changes to -(nonbasic+1). next_ has extra space for 2* longest set
Definition at line 320 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::toIndex_ [protected] |
Backward pointer to index in CoinIndexedVector.
Definition at line 322 of file ClpGubMatrix.hpp.
int* ClpGubMatrix::fromIndex_ [protected] |
Sum of dual infeasibilities.
Definition at line 324 of file ClpGubMatrix.hpp.
ClpSimplex* ClpGubMatrix::model_ [protected] |
Pointer back to model.
Definition at line 326 of file ClpGubMatrix.hpp.
int ClpGubMatrix::numberDualInfeasibilities_ [protected] |
Number of dual infeasibilities.
Definition at line 328 of file ClpGubMatrix.hpp.
int ClpGubMatrix::numberPrimalInfeasibilities_ [protected] |
Number of primal infeasibilities.
Definition at line 330 of file ClpGubMatrix.hpp.
int ClpGubMatrix::noCheck_ [protected] |
If pricing will declare victory (i.e.
no check every factorization). -1 - always check 0 - don't check 1 - in don't check mode but looks optimal
Definition at line 336 of file ClpGubMatrix.hpp.
int ClpGubMatrix::numberSets_ [protected] |
Number of sets (gub rows).
Definition at line 338 of file ClpGubMatrix.hpp.
int ClpGubMatrix::saveNumber_ [protected] |
Number in vector without gub extension.
Definition at line 340 of file ClpGubMatrix.hpp.
int ClpGubMatrix::possiblePivotKey_ [protected] |
Pivot row of possible next key.
Definition at line 342 of file ClpGubMatrix.hpp.
int ClpGubMatrix::gubSlackIn_ [protected] |
Gub slack in (set number or -1).
Definition at line 344 of file ClpGubMatrix.hpp.
int ClpGubMatrix::firstGub_ [protected] |
First gub variables (same as start_[0] at present).
Definition at line 346 of file ClpGubMatrix.hpp.
int ClpGubMatrix::lastGub_ [protected] |
last gub variable (same as end_[numberSets_-1] at present)
Definition at line 348 of file ClpGubMatrix.hpp.
int ClpGubMatrix::gubType_ [protected] |
type of gub - 0 not contiguous, 1 contiguous add 8 bit to say no ubs on individual variables
Definition at line 351 of file ClpGubMatrix.hpp.