leave.cpp
Go to the documentation of this file.
159 ftest[i] = ((*theFvec)[i] > theUBbound[i]) ? theUBbound[i] - (*theFvec)[i] : (*theFvec)[i] - theLBbound[i]; 712 MSG_DEBUG( std::cout << "DLEAVE71 trigger recomputation of nonbasic value due to shifts in ratiotest" << std::endl; ) 770 /* after a factorization, the leaving column/row might not be infeasible or suboptimal anymore, hence we do 771 * not try to call leave(leaveIdx), but rather return to the main solving loop and call the pricer again 779 MSG_INFO3( (*spxout), (*spxout) << "ILEAVE11 clean up step to reduce numerical errors" << std::endl; ) 1034 if ((leaveMax > entertol() && enterVal <= entertol()) || (leaveMax < -entertol() && enterVal >= -entertol()))
Desc::Status dualRowStatus(int i) const dual Status for the i'th row variable of the loaded LP. Definition: spxbasis.cpp:46 Exception class for things that should NEVER happen.This class is derived from the SoPlex exception b... Definition: exceptions.h:109 virtual void rejectLeave(int leaveNum, SPxId leaveId, SPxBasis::Desc::Status leaveStat, const SVector *newVec=0) Definition: leave.cpp:581 void coSolve(Vector &x, const Vector &rhs) Cosolves linear system with basis matrix. Definition: spxbasis.h:678 const VectorBase< Real > & maxObj() const Returns objective vector for maximization problem. Definition: spxlpbase.h:384 DIdxSet updateViols store indices that were changed in the previous iteration and must be checked in hyper pricing ... Definition: spxsolver.h:363 bool isValid() const returns TRUE iff the id is a valid column or row identifier. Definition: spxid.h:150 Abstract pricer base class. SSVector * solveVector3 when 3 systems are to be solved at a time; typically reserved for bound flipping ratio test (basic so... Definition: spxsolver.h:250 void computePrimalray4Row(Real direction) Definition: leave.cpp:622 Exception classes for SoPlex. int number(const SPxRowId &id) const Returns the row number of the row with identifier id. Definition: spxlpbase.h:450 Abstract ratio test base class. DataArray< int > isInfeasible 0: index not violated, 1: index violated, 2: index violated and among candidate list ... Definition: spxsolver.h:370 bool NE(Real a, Real b, Real eps=Param::epsilon()) returns true iff |a-b| > eps Definition: spxdefines.h:377 Real sparsePricingFactor enable sparse pricing when viols < factor * dim() Definition: spxsolver.h:277 SSVector * solveVector2rhs when 2 systems are to be solved at a time; typically for speepest edge weights Definition: spxsolver.h:249 Ids for LP columns.Class SPxColId provides DataKeys for the column indices of an SPxLP. Definition: spxid.h:36 int sign(const Rational &r) Sign function; returns 1 if r > 0, 0 if r = 0, and -1 if r < 0. Definition: rational.cpp:3938 Real delta() const guaranteed primal and dual bound violation for optimal solution, returning the maximum of feastol() a... Definition: spxsolver.h:705 Wrapper for different output streams and verbosity levels. primal variable is set to its upper bound Definition: spxbasis.h:188 Generic Ids for LP rows or columns.Both SPxColIds and SPxRowIds may be treated uniformly as SPxIds: ... Definition: spxid.h:85 int remainingRoundsLeave number of dense rounds/refactorizations until sparsePricing is enabled again Definition: spxsolver.h:380 SSVector * solveVector3rhs when 3 systems are to be solved at a time; typically reserved for bound flipping ratio test (basic so... Definition: spxsolver.h:251 bool m_pricingViolCoUpToDate true, if the stored violation in coDim is up to date Definition: spxsolver.h:238 #define MSG_INFO2(spxout, x) Prints out message x if the verbosity level is at least SPxOut::INFO2. Definition: spxdefines.h:115 int index(int n) const Returns index of the n 'th nonzero element. Definition: ssvectorbase.h:174 virtual const SVector * enterVector(const SPxId &p_id) Get pointer to the id 'th vector. Definition: spxsolver.h:1751 Desc::Status dualColStatus(int i) const dual Status for the i'th column variable of the loaded LP. Definition: spxbasis.cpp:69 dual variable is set to its upper bound Definition: spxbasis.h:192 main LP solver class #define MSG_ERROR(x) Prints out message x if the verbosity level is at least SPxOut::ERROR. Definition: spxdefines.h:109 bool updateNonbasicValue(Real objChange) Definition: spxsolver.cpp:886 virtual void getLeaveVals2(Real leaveMax, SPxId enterId, Real &enterBound, Real &newUBbound, Real &newLBbound, Real &newCoPrhs, Real &objChange) Definition: leave.cpp:364 Real entertol() const feasibility tolerance maintained by ratio test during ENTER algorithm. Definition: spxsolver.h:675 Real length() const Floating point approximation of euclidian norm (without any approximation guarantee). Definition: ssvectorbase.h:520 virtual void change(int i, SPxId &id, const SVector *enterVec, const SSVector *eta=0) performs basis update. Definition: spxbasis.cpp:715 Real m_pricingViolCo maximal feasibility violation of current solution in coDim Definition: spxsolver.h:237 Real length() const Floating point approximation of euclidian norm (without any approximation guarantee). Definition: vectorbase.h:356 void computeDualfarkas4Col(Real direction) Definition: leave.cpp:633 Debugging, floating point type and parameter definitions. virtual void getLeaveVals(int i, SPxBasis::Desc::Status &leaveStat, SPxId &leaveId, Real &leaveMax, Real &leavebound, int &leaveNum, Real &objChange) Definition: leave.cpp:184 SSVector * solveVector2 when 2 systems are to be solved at a time; typically for speepest edge weights Definition: spxsolver.h:248 VectorBase< R > & multAdd(const S &x, const VectorBase< T > &vec) Addition of scaled vector. Definition: vectorbase.h:369 Exception base class.This class implements a base class for our SoPlex exceptions We provide a what()... Definition: exceptions.h:32 Everything should be within this namespace. int lastUpdate() const returns number of basis changes since last refactorization. Definition: spxbasis.h:533 void solve4update(SSVector &x, const SVector &rhs) solves linear system with basis matrix. Definition: spxbasis.h:628 Definition: spxpricer.h:100 primal variable is set to its lower bound Definition: spxbasis.h:187 dual variable is set to its lower bound Definition: spxbasis.h:193 bool isBasic(SPxBasis::Desc::Status stat) const does stat describe a basic index ? Definition: spxsolver.h:1124 virtual SPxId selectEnter(Real &val, int leaveIdx)=0 selects variable Id to enter the basis. Ids for LP rows.Class SPxRowId provides DataKeys for the row indices of an SPxLP. ... Definition: spxid.h:55 void forceRecompNonbasicValue() Definition: spxsolver.h:545 Definition: spxpricer.h:101 #define MSG_INFO3(spxout, x) Prints out message x if the verbosity level is at least SPxOut::INFO3. Definition: spxdefines.h:117 bool hyperPricingLeave true if hyper sparse pricing is turned on in the leaving Simplex Definition: spxsolver.h:377 Real leavetol() const feasibility tolerance maintained by ratio test during LEAVE algorithm. Definition: spxsolver.h:682 Set of indices.Class IdxSet provides a set of indices. At construction it must be given an array of i... Definition: idxset.h:56 void setBasisStatus(SPxBasis::SPxStatus stat) set the lp solver's basis status. Definition: spxsolver.h:1905 |