Go to the documentation of this file.
6 #ifndef ClpDualRowSteepest_H
7 #define ClpDualRowSteepest_H
10 class CoinIndexedVector;
32 CoinIndexedVector *spare,
33 CoinIndexedVector *spare2,
34 CoinIndexedVector *updatedColumn);
42 double &changeInObjective);
108 inline int mode()
const
This solves LPs using the simplex method.
ClpSimplex * model()
Returns model.
void setPersistence(Persistence life)
Set/ get persistence.
Persistence
enums for persistence
virtual void saveWeights(ClpSimplex *model, int mode)
Saves any weights round factorization as pivot rows may change Save model May also recompute infeasib...
double * weights_
weight array
virtual void updatePrimalSolution(CoinIndexedVector *input, double theta, double &changeInObjective)
Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Computes ch...
virtual ClpDualRowPivot * clone(bool copyData=true) const
Clone.
int state_
Status 0) Normal -1) Needs initialization 1) Weights are stored by sequence number.
virtual bool looksOptimal() const
Returns true if would not find any row.
void setMode(int mode)
Set mode.
Dual Row Pivot Steepest Edge Algorithm Class.
virtual void maximumPivotsChanged()
Called when maximum pivots changes.
CoinIndexedVector * alternateWeights_
alternate weight array (so we can unroll)
virtual double updateWeights(CoinIndexedVector *input, CoinIndexedVector *spare, CoinIndexedVector *spare2, CoinIndexedVector *updatedColumn)
Updates weights and returns pivot alpha.
virtual void clearArrays()
Gets rid of all arrays.
Persistence persistence() const
int mode_
If 0 then we are using uninitialized weights, 1 then full, if 2 then uninitialized partial,...
Persistence persistence_
Life of weights.
ClpDualRowSteepest & operator=(const ClpDualRowSteepest &rhs)
Assignment operator.
CoinIndexedVector * infeasible_
square of infeasibility array (just for infeasible rows)
void passInSavedWeights(const CoinIndexedVector *saved)
Pass in saved weights.
ClpDualRowSteepest(int mode=3)
Default Constructor 0 is uninitialized, 1 full, 2 is partial uninitialized, 3 starts as 2 but may swi...
CoinIndexedVector * savedWeights_
save weight array (so we can use checkpoint)
CoinIndexedVector * savedWeights()
Get saved weights.
Dual Row Pivot Abstract Base Class.
int * dubiousWeights_
Dubious weights.
void fill(const ClpDualRowSteepest &rhs)
Fill most values.
virtual int pivotRow()
Returns pivot row, -1 if none.
virtual ~ClpDualRowSteepest()
Destructor.
virtual void unrollWeights()
Gets rid of last update.