Clp
1.17.8
|
Dual Row Pivot Dantzig Algorithm Class. More...
#include <AbcDualRowDantzig.hpp>
Public Member Functions | |
Algorithmic methods | |
virtual int | pivotRow () |
Returns pivot row, -1 if none. More... | |
virtual double | updateWeights (CoinIndexedVector &input, CoinIndexedVector &updatedColumn) |
Updates weights and returns pivot alpha. More... | |
virtual double | updateWeights1 (CoinIndexedVector &input, CoinIndexedVector &updateColumn) |
Does most of work for weights and returns pivot alpha. More... | |
virtual void | updateWeightsOnly (CoinIndexedVector &) |
virtual void | updateWeights2 (CoinIndexedVector &input, CoinIndexedVector &) |
Actually updates weights. More... | |
virtual void | updatePrimalSolution (CoinIndexedVector &input, double theta) |
Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes change in objective function. More... | |
virtual void | saveWeights (AbcSimplex *model, int mode) |
Saves any weights round factorization as pivot rows may change Will be empty unless steepest edge (will save model) May also recompute infeasibility stuff 1) before factorization 2) after good factorization (if weights empty may initialize) 3) after something happened but no factorization (e.g. More... | |
virtual void | recomputeInfeasibilities () |
Recompute infeasibilities. More... | |
Constructors and destructors | |
AbcDualRowDantzig () | |
Default Constructor. More... | |
AbcDualRowDantzig (const AbcDualRowDantzig &) | |
Copy constructor. More... | |
AbcDualRowDantzig & | operator= (const AbcDualRowDantzig &rhs) |
Assignment operator. More... | |
virtual | ~AbcDualRowDantzig () |
Destructor. More... | |
virtual AbcDualRowPivot * | clone (bool copyData=true) const |
Clone. More... | |
Public Member Functions inherited from AbcDualRowPivot | |
virtual void | updatePrimalSolutionAndWeights (CoinIndexedVector &weightsVector, CoinIndexedVector &updateColumn, double theta) |
virtual void | checkAccuracy () |
checks accuracy and may re-initialize (may be empty) More... | |
virtual void | clearArrays () |
Gets rid of all arrays (may be empty) More... | |
virtual bool | looksOptimal () const |
Returns true if would not find any row. More... | |
AbcDualRowPivot () | |
Default Constructor. More... | |
AbcDualRowPivot (const AbcDualRowPivot &) | |
Copy constructor. More... | |
AbcDualRowPivot & | operator= (const AbcDualRowPivot &rhs) |
Assignment operator. More... | |
virtual | ~AbcDualRowPivot () |
Destructor. More... | |
AbcSimplex * | model () |
Returns model. More... | |
void | setModel (AbcSimplex *newmodel) |
Sets model (normally to NULL) More... | |
int | type () |
Returns type (above 63 is extra information) More... | |
Private Attributes | |
Private member data | |
infeasibility array (just for infeasible rows) | |
CoinIndexedVector * | infeasible_ |
Additional Inherited Members | |
Protected Attributes inherited from AbcDualRowPivot | |
AbcSimplex * | model_ |
Pointer to model. More... | |
int | type_ |
Type of row pivot algorithm. More... | |
Dual Row Pivot Dantzig Algorithm Class.
This is simplest choice - choose largest infeasibility
Definition at line 19 of file AbcDualRowDantzig.hpp.
AbcDualRowDantzig::AbcDualRowDantzig | ( | ) |
Default Constructor.
AbcDualRowDantzig::AbcDualRowDantzig | ( | const AbcDualRowDantzig & | ) |
Copy constructor.
|
virtual |
Destructor.
|
virtual |
Returns pivot row, -1 if none.
Implements AbcDualRowPivot.
|
virtual |
|
virtual |
Does most of work for weights and returns pivot alpha.
Also does FT update
Implements AbcDualRowPivot.
|
inlinevirtual |
Implements AbcDualRowPivot.
Definition at line 32 of file AbcDualRowDantzig.hpp.
|
inlinevirtual |
Actually updates weights.
Implements AbcDualRowPivot.
Definition at line 34 of file AbcDualRowDantzig.hpp.
|
virtual |
Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes change in objective function.
Implements AbcDualRowPivot.
|
virtual |
Saves any weights round factorization as pivot rows may change Will be empty unless steepest edge (will save model) May also recompute infeasibility stuff 1) before factorization 2) after good factorization (if weights empty may initialize) 3) after something happened but no factorization (e.g.
check for infeasible) 4) as 2 but restore weights from previous snapshot 5) for strong branching - initialize , infeasibilities
Reimplemented from AbcDualRowPivot.
|
virtual |
Recompute infeasibilities.
Reimplemented from AbcDualRowPivot.
AbcDualRowDantzig& AbcDualRowDantzig::operator= | ( | const AbcDualRowDantzig & | rhs | ) |
Assignment operator.
|
virtual |
Clone.
Implements AbcDualRowPivot.
|
private |
Definition at line 80 of file AbcDualRowDantzig.hpp.