Go to the documentation of this file.
6 #ifndef AbcDualRowPivot_H
7 #define AbcDualRowPivot_H
11 class CoinIndexedVector;
34 virtual double updateWeights1(CoinIndexedVector &input, CoinIndexedVector &updateColumn) = 0;
36 virtual double updateWeights(CoinIndexedVector &input, CoinIndexedVector &updateColumn) = 0;
38 virtual void updateWeights2(CoinIndexedVector &input, CoinIndexedVector &updateColumn) = 0;
49 CoinIndexedVector &updateColumn,
127 #ifndef CLP_DUAL_COLUMN_MULTIPLIER
virtual void updatePrimalSolutionAndWeights(CoinIndexedVector &weightsVector, CoinIndexedVector &updateColumn, double theta)
virtual void updateWeightsOnly(CoinIndexedVector &input)=0
virtual double updateWeights(CoinIndexedVector &input, CoinIndexedVector &updateColumn)=0
virtual int pivotRow()=0
Returns pivot row, -1 if none.
virtual void clearArrays()
Gets rid of all arrays (may be empty)
virtual void saveWeights(AbcSimplex *model, int mode)
Saves any weights round factorization as pivot rows may change Will be empty unless steepest edge (wi...
virtual void recomputeInfeasibilities()
Recompute infeasibilities.
virtual double updateWeights1(CoinIndexedVector &input, CoinIndexedVector &updateColumn)=0
Does most of work for weights and returns pivot alpha.
virtual void checkAccuracy()
checks accuracy and may re-initialize (may be empty)
void setModel(AbcSimplex *newmodel)
Sets model (normally to NULL)
int type()
Returns type (above 63 is extra information)
Dual Row Pivot Abstract Base Class.
AbcDualRowPivot & operator=(const AbcDualRowPivot &rhs)
Assignment operator.
virtual AbcDualRowPivot * clone(bool copyData=true) const =0
Clone.
AbcDualRowPivot()
Default Constructor.
virtual void updateWeights2(CoinIndexedVector &input, CoinIndexedVector &updateColumn)=0
Actually updates weights.
virtual bool looksOptimal() const
Returns true if would not find any row.
AbcSimplex * model()
Returns model.
AbcSimplex * model_
Pointer to model.
virtual void updatePrimalSolution(CoinIndexedVector &updateColumn, double theta)=0
Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Would be fa...
int type_
Type of row pivot algorithm.
virtual ~AbcDualRowPivot()
Destructor.