spxfastrt.cpp
Go to the documentation of this file.
95 * Ph.D. thesis page 57 as follows: It uses \f$\delta_i = d_i - s_i - \delta\f$ if \f$d_i > s_i\f$. 98 * epsilon, u < infinity): If u - vec[i] <= 0, vec[i] violates the upper bound. In the Harris ratio 133 /* in the dual algorithm, bound flips cannot happen, hence we only consider nonbasic variables */ 141 // @todo check wether mabs should be computed only over bounded vars, i.e., in the if block below 161 // @todo check wether mabs should be computed only over bounded vars, i.e., in the if block below 183 /* In this case, the indices of the semi-sparse vector update.delta() are not set up and are filled below. */ 202 /* in the dual algorithm, bound flips cannot happen, hence we only consider nonbasic variables */ 289 /* in the dual algorithm, bound flips cannot happen, hence we only consider nonbasic variables */ 295 // @todo check wether mabs should be computed only over bounded vars, i.e., in the if block below 315 // @todo check wether mabs should be computed only over bounded vars, i.e., in the if block below 337 /* In this case, the indices of the semi-sparse vector update.delta() are not set up and are filled below. */ 357 /* in the dual algorithm, bound flips cannot happen, hence we only consider nonbasic variables */ 485 /* \p best returns the minimum update value such that the corresponding value of \p upd.delta() is 486 * at least \p stab and the update value is smaller than \p max. If no valid update value has been 487 * found \p bestDelta returns the slack to the bound corresponding to the index used for \p best. */ 907 assert(leave < 0 || !(thesolver->baseId(leave).isSPxColId()) || thesolver->desc().colStatus(thesolver->number(SPxColId(thesolver->baseId(leave)))) != SPxBasis::Desc::P_FIXED); 925 assert(leave < 0 || !(thesolver->baseId(leave).isSPxColId()) || thesolver->desc().colStatus(thesolver->number(SPxColId(thesolver->baseId(leave)))) != SPxBasis::Desc::P_FIXED); 965 assert(leave < 0 || !(thesolver->baseId(leave).isSPxColId()) || thesolver->desc().colStatus(thesolver->number(SPxColId(thesolver->baseId(leave)))) != SPxBasis::Desc::P_FIXED); Fast shifting ratio test. bool maxReEnter(Real &sel, Real maxabs, const SPxId &id, int nr) Definition: spxfastrt.cpp:971 Desc::Status dualStatus(const SPxColId &id) const dual Status for the column variable with ID id of the loaded LP. Definition: spxbasis.cpp:34 bool maxShortLeave(Real &sel, int leave, Real maxabs) Definition: spxfastrt.cpp:735 bool isValid() const returns TRUE iff the id is a valid column or row identifier. Definition: spxid.h:150 int number(const SPxRowId &id) const Returns the row number of the row with identifier id. Definition: spxlpbase.h:450 Ids for LP columns.Class SPxColId provides DataKeys for the column indices of an SPxLP. Definition: spxid.h:36 bool maxReLeave(Real &sel, int leave, Real maxabs) Definition: spxfastrt.cpp:779 int maxDelta(Real &val, Real &maxabs, UpdateVector &update, const Vector &lowBound, const Vector &upBound, int start, int incr) const Max phase 1 value. Definition: spxfastrt.cpp:101 Generic Ids for LP rows or columns.Both SPxColIds and SPxRowIds may be treated uniformly as SPxIds: ... Definition: spxid.h:85 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. Definition: spxfastrt.cpp:488 bool minReLeave(Real &sel, int leave, Real maxabs) numerical stability tests. Definition: spxfastrt.cpp:814 Dense vector with semi-sparse vector for updatesIn many algorithms vectors are updated in every itera... Definition: updatevector.h:53 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. Definition: spxfastrt.cpp:567 Debugging, floating point type and parameter definitions. void setSize(int n) Sets number of nonzeros (thereby unSetup SSVectorBase). Definition: ssvectorbase.h:553 Sequential object-oriented SimPlex.SPxSolver is an LP solver class using the revised Simplex algorith... Definition: spxsolver.h:84 Everything should be within this namespace. bool iscoid flag used in methods minSelect/maxSelect to retrieve correct basis status Definition: spxfastrt.h:54 bool minShortLeave(Real &sel, int leave, Real maxabs) tests for stop after phase 1. Definition: spxfastrt.cpp:757 int minDelta(Real &val, Real &maxabs, UpdateVector &update, const Vector &lowBound, const Vector &upBound, int start, int incr) const Min phase 1 value. Definition: spxfastrt.cpp:256 virtual SPxId selectEnter(Real &val, int) Definition: spxfastrt.cpp:1183 bool isBasic(SPxBasis::Desc::Status stat) const does stat describe a basic index ? Definition: spxsolver.h:1124 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... Definition: spxfastrt.cpp:1153 bool minReEnter(Real &sel, Real maxabs, const SPxId &id, int nr) numerical stability check. Definition: spxfastrt.cpp:1063 |