|
|
| ClpPEPrimalColumnSteepest (double psi=0.5, int mode=3) |
| Default Constructor 0 is exact devex, 1 full steepest, 2 is partial exact devex 3 switches between 0 and 2 depending on factorization 4 starts as partial dantzig/devex but then may switch between 0 and 2.
|
|
| ClpPEPrimalColumnSteepest (const ClpPEPrimalColumnSteepest &rhs) |
| Copy constructor.
|
|
ClpPEPrimalColumnSteepest & | operator= (const ClpPEPrimalColumnSteepest &rhs) |
| Assignment operator.
|
|
virtual | ~ClpPEPrimalColumnSteepest () |
| Destructor.
|
|
virtual ClpPrimalColumnPivot * | clone (bool copyData=true) const |
| Clone.
|
|
Public Member Functions inherited from ClpPrimalColumnSteepest |
int | pivotColumnOldMethod (CoinIndexedVector *updates, CoinIndexedVector *spareRow1, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2) |
| For quadratic or funny nonlinearities.
|
|
void | justDjs (CoinIndexedVector *updates, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2) |
| Just update djs.
|
|
int | partialPricing (CoinIndexedVector *updates, CoinIndexedVector *spareRow2, int numberWanted, int numberLook) |
| Update djs doing partial pricing (dantzig)
|
|
void | djsAndDevex (CoinIndexedVector *updates, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2) |
| Update djs, weights for Devex using djs.
|
|
void | djsAndSteepest (CoinIndexedVector *updates, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2) |
| Update djs, weights for Steepest using djs sets best sequence (possibly)
|
|
void | djsAndDevex2 (CoinIndexedVector *updates, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2) |
| Update djs, weights for Devex using pivot row.
|
|
void | djsAndSteepest2 (CoinIndexedVector *updates, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2) |
| Update djs, weights for Steepest using pivot row.
|
|
void | justDevex (CoinIndexedVector *updates, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2) |
| Update weights for Devex.
|
|
void | justSteepest (CoinIndexedVector *updates, CoinIndexedVector *spareRow2, CoinIndexedVector *spareColumn1, CoinIndexedVector *spareColumn2) |
| Update weights for Steepest.
|
|
int | transposeTimes2 (const CoinIndexedVector *pi1, CoinIndexedVector *dj1, const CoinIndexedVector *pi2, CoinIndexedVector *dj2, CoinIndexedVector *spare, double scaleFactor) |
| Updates two arrays for steepest.
|
|
void | checkAccuracy (int sequence, double relativeTolerance, CoinIndexedVector *rowArray1, CoinIndexedVector *rowArray2) |
| Checks accuracy - just for debug.
|
|
void | initializeWeights () |
| Initialize weights.
|
|
void | redoInfeasibilities () |
| redo infeasibilities
|
|
virtual void | unrollWeights () |
| Gets rid of last update.
|
|
virtual void | clearArrays () |
| Gets rid of all arrays.
|
|
virtual bool | looksOptimal () const |
| Returns true if would not find any column.
|
|
virtual void | maximumPivotsChanged () |
| Called when maximum pivots changes.
|
|
| ClpPrimalColumnSteepest (int mode=3) |
| Default Constructor 0 is exact devex, 1 full steepest, 2 is partial exact devex 3 switches between 0 and 2 depending on factorization 4 starts as partial dantzig/devex but then may switch between 0 and 2.
|
|
| ClpPrimalColumnSteepest (const ClpPrimalColumnSteepest &rhs) |
| Copy constructor.
|
|
ClpPrimalColumnSteepest & | operator= (const ClpPrimalColumnSteepest &rhs) |
| Assignment operator.
|
|
virtual | ~ClpPrimalColumnSteepest () |
| Destructor.
|
|
bool | reference (int i) const |
| reference would be faster using ClpSimplex's status_, but I prefer to keep modularity.
|
|
void | setReference (int i, bool trueFalse) |
|
void | setPersistence (Persistence life) |
| Set/ get persistence.
|
|
Persistence | persistence () const |
|
int | mode () const |
| Mode.
|
|
void | setMode (int mode) |
| Set mode.
|
|
CoinIndexedVector * | infeasible () const |
| square of infeasibility array (just for infeasible columns)
|
|
const double * | weights () const |
| Weights.
|
|
CoinIndexedVector * | alternateWeights () const |
| alternate weight array
|
|
virtual int | numberSprintColumns (int &numberIterations) const |
| Returns number of extra columns for sprint algorithm - 0 means off.
|
|
virtual void | switchOffSprint () |
| Switch off sprint idea.
|
|
Public Member Functions inherited from ClpPrimalColumnPivot |
virtual int | pivotRow (double &way) |
| Signals pivot row choice: -2 (default) - use normal pivot row choice -1 to numberRows-1 - use this (will be checked) way should be -1 to go to lower bound, +1 to upper bound.
|
|
virtual void | setLooksOptimal (bool flag) |
| Sets optimality flag (for advanced use)
|
|
| ClpPrimalColumnPivot () |
| Default Constructor.
|
|
| ClpPrimalColumnPivot (const ClpPrimalColumnPivot &) |
| Copy constructor.
|
|
ClpPrimalColumnPivot & | operator= (const ClpPrimalColumnPivot &rhs) |
| Assignment operator.
|
|
virtual | ~ClpPrimalColumnPivot () |
| Destructor.
|
|
ClpSimplex * | model () |
| Returns model.
|
|
void | setModel (ClpSimplex *newmodel) |
| Sets model.
|
|
int | type () |
| Returns type (above 63 is extra information)
|
|
Primal Column Pivot Steepest Edge Algorithm Class.
See Forrest-Goldfarb paper for algorithm
Definition at line 29 of file ClpPEPrimalColumnSteepest.hpp.