78 const Vector& lowBound,
const Vector& upBound,
int start,
int incr)
const;
95 const Vector& lowBound,
const Vector& upBound,
int start,
int incr)
const;
112 const Vector& up,
int start = 0,
int incr = 1)
const;
128 const Vector& up,
int start = 0,
int incr = 1)
const;
182 , minStab(old.minStab)
183 , epsilon(old.epsilon)
184 , fastDelta(old.fastDelta)
237 fastDelta = newDelta;
247 #endif // _SPXFASTRT_H_ virtual ~SPxFastRT()
destructor
bool maxReEnter(Real &sel, Real maxabs, const SPxId &id, int nr, bool polish=false)
#define DEFAULT_BND_VIOL
default allowed bound violation
bool maxShortLeave(Real &sel, int leave, Real maxabs)
int minSelect(Real &val, Real &stab, Real &best, Real &bestDelta, Real max, const UpdateVector &upd, const Vector &low, const Vector &up, int start=0, int incr=1) const
selects stable index for minimizing ratio test.
Real delta
allowed bound violation
SPxFastRT(const SPxFastRT &old)
copy constructor
Real fastDelta
currently allowed infeasibility.
Abstract ratio test base class.
virtual void setDelta(Real newDelta)
virtual int selectLeave(Real &val, Real, bool polish=false)
Abstract ratio test base class.Class SPxRatioTester is the virtual base class for computing the ratio...
bool minReLeave(Real &sel, int leave, Real maxabs, bool polish=false)
numerical stability tests.
Real epsilon
|value| < epsilon is considered 0.
virtual void setType(SPxSolver::Type type)
int maxDelta(Real &val, Real &maxabs, UpdateVector &update, const Vector &lowBound, const Vector &upBound, int start, int incr) const
Max phase 1 value.
void relax()
relaxes stability requirements.
SPxFastRT()
default constructor
Real minStability(Real maxabs)
Compute stability requirement.
Generic Ids for LP rows or columns.Both SPxColIds and SPxRowIds may be treated uniformly as SPxIds: ...
void resetTols()
resets tolerances (epsilon).
Fast shifting ratio test.Class SPxFastRT is an implementation class of SPxRatioTester providing fast ...
bool shortEnter(const SPxId &enterId, int nr, Real max, Real maxabs) const
Tests and returns whether a shortcut after phase 1 is feasible for the selected enter pivot...
#define DEFAULT_EPS_ZERO
default allowed additive zero: 1.0 + EPS_ZERO == 1.0
Dense vector with semi-sparse vector for updatesIn many algorithms vectors are updated in every itera...
SPxRatioTester & operator=(const SPxRatioTester &rhs)
assignment operator
Debugging, floating point type and parameter definitions.
Sequential object-oriented SimPlex.SPxSolver is an LP solver class using the revised Simplex algorith...
bool minReEnter(Real &sel, Real maxabs, const SPxId &id, int nr, bool polish=false)
numerical stability check.
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 SPxSolver * solver() const
returns loaded LP solver.
int maxSelect(Real &val, Real &stab, Real &best, Real &bestDelta, Real max, const UpdateVector &upd, const Vector &low, const Vector &up, int start=0, int incr=1) const
selects stable index for maximizing ratio test.
bool minShortLeave(Real &sel, int leave, Real maxabs)
tests for stop after phase 1.
int minDelta(Real &val, Real &maxabs, UpdateVector &update, const Vector &lowBound, const Vector &upBound, int start, int incr) const
Min phase 1 value.
bool maxReLeave(Real &sel, int leave, Real maxabs, bool polish=false)
virtual void load(SPxSolver *solver)
virtual SPxId selectEnter(Real &val, int, bool polish=false)
SPxFastRT & operator=(const SPxFastRT &rhs)
assignment operator
Real minStab
parameter for computing minimum stability requirement
virtual SPxRatioTester * clone() const
clone function for polymorphism