111 int maxSelect(R& val, R& stab, R& best, R& bestDelta,
115 int maxSelect(R& val, R& stab, R& bestDelta, R max);
118 R& bestDelta, R max);
127 int minSelect(R& val, R& stab, R& best, R& bestDelta,
132 R& bestDelta, R max);
135 R& bestDelta, R max);
150 bool minReLeave(R& sel,
int leave, R maxabs,
bool polish =
false);
152 bool maxReLeave(R& sel,
int leave, R maxabs,
bool polish =
false);
158 bool minReEnter(R& sel, R maxabs,
const SPxId&
id,
int nr,
bool polish =
false);
160 bool maxReEnter(R& sel, R maxabs,
const SPxId&
id,
int nr,
bool polish =
false);
183 , minStab(old.minStab)
184 , epsilon(old.epsilon)
185 , fastDelta(old.fastDelta)
226 virtual int selectLeave(R& val, R,
bool polish =
false);
237 this->
delta = newDelta;
238 fastDelta = newDelta;
249 #include "spxfastrt.hpp" 251 #endif // _SPXFASTRT_H_ virtual void setType(typename SPxSolverBase< R >::Type type)
R fastDelta
currently allowed infeasibility.
bool minReEnter(R &sel, R maxabs, const SPxId &id, int nr, bool polish=false)
numerical stability check.
virtual ~SPxFastRT()
destructor
virtual void setDelta(R newDelta)
#define DEFAULT_BND_VIOL
default allowed bound violation
Dense vector.Class VectorBase provides dense linear algebra vectors. Internally, VectorBase wraps std...
R delta
allowed bound violation
Sequential object-oriented SimPlex.SPxSolverBase is an LP solver class using the revised Simplex algo...
SPxFastRT(const SPxFastRT &old)
copy constructor
Abstract ratio test base class.
Abstract ratio test base class.Class SPxRatioTester is the virtual base class for computing the ratio...
bool minShortLeave(R &sel, int leave, R maxabs)
tests for stop after phase 1.
virtual SPxSolverBase< R > * solver() const
returns loaded LP solver.
void relax()
relaxes stability requirements.
SPxFastRT()
default constructor
Generic Ids for LP rows or columns.Both SPxColIds and SPxRowIds may be treated uniformly as SPxIds: ...
virtual int selectLeave(R &val, R, bool polish=false)
void resetTols()
resets tolerances (epsilon).
Fast shifting ratio test.Class SPxFastRT is an implementation class of SPxRatioTester providing fast ...
bool minReLeave(R &sel, int leave, R maxabs, bool polish=false)
numerical stability tests.
bool shortEnter(const SPxId &enterId, int nr, R max, R maxabs) const
Tests and returns whether a shortcut after phase 1 is feasible for the selected enter pivot...
bool maxReLeave(R &sel, int leave, R maxabs, bool polish=false)
#define DEFAULT_EPS_ZERO
default allowed additive zero: 1.0 + EPS_ZERO == 1.0
int minDelta(R &val, R &maxabs, UpdateVector< R > &update, const VectorBase< R > &lowBound, const VectorBase< R > &upBound, int start, int incr) const
Min phase 1 value.
Dense Vector with semi-sparse Vector for updatesIn many algorithms vectors are updated in every itera...
SPxRatioTester & operator=(const SPxRatioTester &rhs)
assignment operator
int minSelect(R &val, R &stab, R &best, R &bestDelta, R max, const UpdateVector< R > &upd, const VectorBase< R > &low, const VectorBase< R > &up, int start=0, int incr=1) const
selects stable index for minimizing ratio test.
R minStab
parameter for computing minimum stability requirement
virtual SPxRatioTester< R > * clone() const
clone function for polymorphism
Debugging, floating point type and parameter definitions.
Everything should be within this namespace.
void tighten()
tightens stability requirements.
SPxFastRT(const char *name)
bound flipping constructor
bool iscoid
flag used in methods minSelect/maxSelect to retrieve correct basis status
virtual SPxId selectEnter(R &val, int, bool polish=false)
SPxFastRT & operator=(const SPxFastRT &rhs)
assignment operator
R minStability(R maxabs)
Compute stability requirement.
bool maxShortLeave(R &sel, int leave, R maxabs)
int maxSelect(R &val, R &stab, R &best, R &bestDelta, R max, const UpdateVector< R > &upd, const VectorBase< R > &low, const VectorBase< R > &up, int start=0, int incr=1) const
selects stable index for maximizing ratio test.
virtual void load(SPxSolverBase< R > *solver)
R epsilon
|value| < epsilon is considered 0.
bool maxReEnter(R &sel, R maxabs, const SPxId &id, int nr, bool polish=false)
int maxDelta(R &val, R &maxabs, UpdateVector< R > &update, const VectorBase< R > &lowBound, const VectorBase< R > &upBound, int start, int incr) const
Max phase 1 value.