Dual Row Pivot Steepest Edge Algorithm Class.
More...
#include <ClpPEDualRowSteepest.hpp>
|
| ClpPEDualRowSteepest (double psi=0.5, int mode=3) |
| Default Constructor mode: 0 is uninitialized, 1 full, 2 is partial uninitialized, 3 starts as 2 but may switch to 1.
|
|
| ClpPEDualRowSteepest (const ClpPEDualRowSteepest &) |
| Copy constructor.
|
|
ClpPEDualRowSteepest & | operator= (const ClpPEDualRowSteepest &rhs) |
| Assignment operator.
|
|
virtual | ~ClpPEDualRowSteepest () |
| Destructor.
|
|
virtual ClpDualRowPivot * | clone (bool copyData=true) const |
| Clone.
|
|
| ClpDualRowSteepest (int mode=3) |
| Default Constructor 0 is uninitialized, 1 full, 2 is partial uninitialized, 3 starts as 2 but may switch to 1.
|
|
| ClpDualRowSteepest (const ClpDualRowSteepest &) |
| Copy constructor.
|
|
ClpDualRowSteepest & | operator= (const ClpDualRowSteepest &rhs) |
| Assignment operator.
|
|
void | fill (const ClpDualRowSteepest &rhs) |
| Fill most values.
|
|
virtual | ~ClpDualRowSteepest () |
| Destructor.
|
|
int | mode () const |
| Mode.
|
|
void | setMode (int mode) |
| Set mode.
|
|
void | setPersistence (Persistence life) |
| Set/ get persistence.
|
|
Persistence | persistence () const |
|
virtual double | updateWeights (CoinIndexedVector *input, CoinIndexedVector *spare, CoinIndexedVector *spare2, CoinIndexedVector *updatedColumn) |
| Updates weights and returns pivot alpha.
|
|
void | passInSavedWeights (const CoinIndexedVector *saved) |
| Pass in saved weights.
|
|
CoinIndexedVector * | savedWeights () |
| Get saved weights.
|
|
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 row.
|
|
virtual void | maximumPivotsChanged () |
| Called when maximum pivots changes.
|
|
virtual void | checkAccuracy () |
| checks accuracy and may re-initialize (may be empty)
|
|
| ClpDualRowPivot () |
| Default Constructor.
|
|
| ClpDualRowPivot (const ClpDualRowPivot &) |
| Copy constructor.
|
|
ClpDualRowPivot & | operator= (const ClpDualRowPivot &rhs) |
| Assignment operator.
|
|
virtual | ~ClpDualRowPivot () |
| Destructor.
|
|
ClpSimplex * | model () |
| Returns model.
|
|
void | setModel (ClpSimplex *newmodel) |
| Sets model (normally to NULL)
|
|
int | type () |
| Returns type (above 63 is extra information)
|
|
Dual Row Pivot Steepest Edge Algorithm Class.
See Forrest-Goldfarb paper for algorithm
Definition at line 27 of file ClpPEDualRowSteepest.hpp.
◆ ClpPEDualRowSteepest() [1/2]
ClpPEDualRowSteepest::ClpPEDualRowSteepest |
( |
double |
psi = 0.5 , |
|
|
int |
mode = 3 |
|
) |
| |
Default Constructor mode: 0 is uninitialized, 1 full, 2 is partial uninitialized, 3 starts as 2 but may switch to 1.
By partial is meant that the weights are updated as normal but only part of the infeasible basic variables are scanned. This can be faster on very easy problems.
◆ ClpPEDualRowSteepest() [2/2]
◆ ~ClpPEDualRowSteepest()
virtual ClpPEDualRowSteepest::~ClpPEDualRowSteepest |
( |
| ) |
|
|
virtual |
◆ operator=()
◆ clone()
virtual ClpDualRowPivot * ClpPEDualRowSteepest::clone |
( |
bool |
copyData = true | ) |
const |
|
virtual |
◆ pivotRow()
virtual int ClpPEDualRowSteepest::pivotRow |
( |
| ) |
|
|
virtual |
◆ saveWeights()
virtual void ClpPEDualRowSteepest::saveWeights |
( |
ClpSimplex * |
model, |
|
|
int |
mode |
|
) |
| |
|
virtual |
◆ updatePrimalSolution()
virtual void ClpPEDualRowSteepest::updatePrimalSolution |
( |
CoinIndexedVector * |
input, |
|
|
double |
theta, |
|
|
double & |
changeInObjective |
|
) |
| |
|
virtual |
Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes change in objective function As ordinary steepest but checks for zero moves.
Reimplemented from ClpDualRowSteepest.
◆ psi()
double ClpPEDualRowSteepest::psi |
( |
| ) |
const |
|
inline |
◆ modelPE_
◆ psi_
double ClpPEDualRowSteepest::psi_ |
|
private |
◆ iCurrent_
int ClpPEDualRowSteepest::iCurrent_ |
|
private |
◆ iInterval_
int ClpPEDualRowSteepest::iInterval_ |
|
private |
◆ updateCompatibles_
bool ClpPEDualRowSteepest::updateCompatibles_ |
|
private |
◆ coDegenCompatibles_
int ClpPEDualRowSteepest::coDegenCompatibles_ |
|
private |
◆ coConsecutiveCompatibles_
int ClpPEDualRowSteepest::coConsecutiveCompatibles_ |
|
private |
The documentation for this class was generated from the following file: