Go to the documentation of this file.
6 #ifndef ClpDualRowPivot_H
7 #define ClpDualRowPivot_H
10 class CoinIndexedVector;
34 CoinIndexedVector *spare,
35 CoinIndexedVector *spare2,
36 CoinIndexedVector *updatedColumn)
48 double &changeInObjective)
130 #ifndef CLP_DUAL_COLUMN_MULTIPLIER
This solves LPs using the simplex method.
ClpDualRowPivot & operator=(const ClpDualRowPivot &rhs)
Assignment operator.
ClpSimplex * model()
Returns model.
virtual ClpDualRowPivot * clone(bool copyData=true) const =0
Clone.
virtual ~ClpDualRowPivot()
Destructor.
virtual void checkAccuracy()
checks accuracy and may re-initialize (may be empty)
ClpSimplex * model_
Pointer to model.
virtual void updatePrimalSolution(CoinIndexedVector *input, double theta, double &changeInObjective)=0
Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes ch...
virtual void maximumPivotsChanged()
Called when maximum pivots changes.
virtual void unrollWeights()
Gets rid of last update (may be empty)
int type()
Returns type (above 63 is extra information)
virtual bool looksOptimal() const
Returns true if would not find any row.
Dual Row Pivot Abstract Base Class.
virtual double updateWeights(CoinIndexedVector *input, CoinIndexedVector *spare, CoinIndexedVector *spare2, CoinIndexedVector *updatedColumn)=0
Updates weights and returns pivot alpha.
int type_
Type of row pivot algorithm.
ClpDualRowPivot()
Default Constructor.
void setModel(ClpSimplex *newmodel)
Sets model (normally to NULL)
virtual void clearArrays()
Gets rid of all arrays (may be empty)
virtual int pivotRow()=0
Returns pivot row, -1 if none.
virtual void saveWeights(ClpSimplex *model, int mode)
Saves any weights round factorization as pivot rows may change Will be empty unless steepest edge (wi...