Dual Row Pivot Dantzig Algorithm Class. More...
#include <AbcDualRowDantzig.hpp>
Public Member Functions | |
Algorithmic methods | |
virtual int | pivotRow () |
Returns pivot row, -1 if none. | |
virtual double | updateWeights (CoinIndexedVector &input, CoinIndexedVector &updatedColumn) |
Updates weights and returns pivot alpha. | |
virtual double | updateWeights1 (CoinIndexedVector &input, CoinIndexedVector &updateColumn) |
Returns pivot row, -1 if none. | |
virtual void | updateWeightsOnly (CoinIndexedVector &) |
Returns pivot row, -1 if none. | |
virtual void | updateWeights2 (CoinIndexedVector &input, CoinIndexedVector &) |
Actually updates weights. | |
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. | |
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. | |
virtual void | recomputeInfeasibilities () |
Recompute infeasibilities. | |
Constructors and destructors | |
AbcDualRowDantzig () | |
Default Constructor. | |
AbcDualRowDantzig (const AbcDualRowDantzig &) | |
Copy constructor. | |
AbcDualRowDantzig & | operator= (const AbcDualRowDantzig &rhs) |
Assignment operator. | |
virtual | ~AbcDualRowDantzig () |
Destructor. | |
virtual AbcDualRowPivot * | clone (bool copyData=true) const |
Clone. | |
Private Attributes | |
Private member data | |
CoinIndexedVector * | infeasible_ |
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 AbcDualRowDantzig::~AbcDualRowDantzig | ( | ) | [virtual] |
Destructor.
virtual int AbcDualRowDantzig::pivotRow | ( | ) | [virtual] |
Returns pivot row, -1 if none.
Implements AbcDualRowPivot.
virtual double AbcDualRowDantzig::updateWeights | ( | CoinIndexedVector & | input, | |
CoinIndexedVector & | updatedColumn | |||
) | [virtual] |
virtual double AbcDualRowDantzig::updateWeights1 | ( | CoinIndexedVector & | input, | |
CoinIndexedVector & | updateColumn | |||
) | [virtual] |
Returns pivot row, -1 if none.
Implements AbcDualRowPivot.
virtual void AbcDualRowDantzig::updateWeightsOnly | ( | CoinIndexedVector & | ) | [inline, virtual] |
Returns pivot row, -1 if none.
Implements AbcDualRowPivot.
Definition at line 33 of file AbcDualRowDantzig.hpp.
virtual void AbcDualRowDantzig::updateWeights2 | ( | CoinIndexedVector & | input, | |
CoinIndexedVector & | ||||
) | [inline, virtual] |
Actually updates weights.
Implements AbcDualRowPivot.
Definition at line 35 of file AbcDualRowDantzig.hpp.
virtual void AbcDualRowDantzig::updatePrimalSolution | ( | CoinIndexedVector & | input, | |
double | theta | |||
) | [virtual] |
Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes change in objective function.
Implements AbcDualRowPivot.
virtual void AbcDualRowDantzig::saveWeights | ( | AbcSimplex * | model, | |
int | mode | |||
) | [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 void AbcDualRowDantzig::recomputeInfeasibilities | ( | ) | [virtual] |
Recompute infeasibilities.
Reimplemented from AbcDualRowPivot.
AbcDualRowDantzig& AbcDualRowDantzig::operator= | ( | const AbcDualRowDantzig & | rhs | ) |
Assignment operator.
Reimplemented from AbcDualRowPivot.
virtual AbcDualRowPivot* AbcDualRowDantzig::clone | ( | bool | copyData = true |
) | const [virtual] |
Clone.
Implements AbcDualRowPivot.
CoinIndexedVector* AbcDualRowDantzig::infeasible_ [private] |
Definition at line 82 of file AbcDualRowDantzig.hpp.