20 #ifndef _SPXSTEEPPR_H_ 21 #define _SPXSTEEPPR_H_ 133 , workVec(old.workVec)
134 , workRhs(old.workRhs)
137 , refined(old.refined)
174 virtual void clear();
210 #endif // _SPXSTEEPPR_H_
virtual SPxId selectEnter()
int selectLeaveX(Real tol)
implementation of full pricing
SPxId selectEnterHyperCoDim(Real &best, Real feastol)
implementation of hyper sparse pricing in the entering Simplex
int buildBestPriceVectorLeave(Real feastol)
prepare data structures for hyper sparse pricing
SPxSteepPR(const SPxSteepPR &old)
copy constructor
SPxSteepPR(const char *name="Steep", Setup mode=DEFAULT)
virtual void setType(SPxSolver::Type)
set entering/leaving algorithm
DIdxSet bestPrices
array of best pricing candidates
Abstract pricer base class.
virtual void load(SPxSolver *base)
sets the solver
Representation
LP basis representation.
Setup
How to setup the direction multipliers.
SPxPricer & operator=(const SPxPricer &rhs)
assignment operator
DataArray< IdxElement > prices
temporary array of precomputed pricing values
starting with multipliers set to 1
virtual int selectLeave()
virtual void addedCoVecs(int n)
n covectors have been added to loaded LP.
SSVector workVec
working vector
SPxSteepPR & operator=(const SPxSteepPR &rhs)
assignment operator
Generic Ids for LP rows or columns.Both SPxColIds and SPxRowIds may be treated uniformly as SPxIds: ...
SPxId selectEnterX(Real tol)
choose the best entering index among columns and rows but prefer sparsity
bool refined
has a refinement step already been tried?
virtual void setRep(SPxSolver::Representation rep)
set row/column representation
virtual void entered4(SPxId id, int n)
virtual bool isConsistent() const
virtual void left4(int n, SPxId id)
virtual void addedVecs(int n)
n vectors have been added to loaded LP.
Abstract pricer base class.Class SPxPricer is a pure virtual class defining the interface for pricer ...
starting with exactly computed values
DataArray< IdxElement > pricesCo
temporary array of precomputed pricing values
Dynamic index set.Class DIdxSet provides dynamic IdxSet in the sense, that no restrictions are posed ...
virtual ~SPxSteepPR()
destructor
DIdxSet bestPricesCo
array of best pricing candidates
SPxId selectEnterSparseCoDim(Real &best, Real tol)
implementation of sparse pricing for the entering Simplex
SPxId selectEnterHyperDim(Real &best, Real feastol)
implementation of hyper sparse pricing in the entering Simplex
Debugging, floating point type and parameter definitions.
Sequential object-oriented SimPlex.SPxSolver is an LP solver class using the revised Simplex algorith...
int selectLeaveHyper(Real tol)
implementation of hyper sparse pricing in the leaving Simplex
Everything should be within this namespace.
void setupWeights(SPxSolver::Type type)
setup steepest edge weights
int selectLeaveSparse(Real tol)
implementation of sparse pricing in the leaving Simplex
SPxId buildBestPriceVectorEnterDim(Real &best, Real feastol)
build up vector of pricing values for later use
virtual void clear()
clear solver and preferences
virtual void removedVec(int i)
the i'th vector has been removed from the loaded LP.
virtual void removedCoVec(int i)
the i'th covector has been removed from the loaded LP.
virtual SPxPricer * clone() const
clone function for polymorphism
SPxId selectEnterDenseCoDim(Real &best, Real tol)
implementation of selectEnter() in dense case
SSVector workRhs
working vector
SPxId buildBestPriceVectorEnterCoDim(Real &best, Real feastol)
virtual void removedCoVecs(const int perm[])
n covectors have been removed from loaded LP.
SPxId selectEnterDenseDim(Real &best, Real tol)
implementation of selectEnter() in dense case (slack variables)
Steepest edge pricer.Class SPxSteepPR implements a steepest edge pricer to be used with SoPlex...
SPxId selectEnterSparseDim(Real &best, Real tol)
implementation of sparse pricing for the entering Simplex (slack variables)
virtual void removedVecs(const int perm[])
n vectors have been removed from loaded LP.