spxbasis.cpp
Go to the documentation of this file.
96 MSG_INFO3( (*spxout), (*spxout) << "IBASIS01 loadMatrixVecs() invalidates factorization" << std::endl; ) 132 MSG_DEBUG( std::cout << "IBASIS21 Basic row " << row << " with incorrect dual status " << dualRowStatus(row) << "\n"); 143 MSG_DEBUG( std::cout << "IBASIS22 Nonbasic row with incorrect status: lhs=" << theLP->SPxLP::lhs(row) << ", rhs=" << theLP->SPxLP::rhs(row) << ", stat=" << ds.rowstat[row] << "\n"); 155 MSG_DEBUG( std::cout << "IBASIS23 Basic column " << col << " with incorrect dual status " << ds.colstat[col] << " != " << dualColStatus(col) << "\n"); 166 MSG_DEBUG( std::cout << "IBASIS24 Nonbasic column with incorrect status: lower=" << theLP->SPxLP::lower(col) << ", upper=" << theLP->SPxLP::upper(col) << ", stat=" << ds.colstat[col] << "\n"); 174 MSG_DEBUG( std::cout << "IBASIS25 Incorrect basis dimension " << basisdim << " != " << theLP->nCols() << "\n" ); 199 MSG_INFO3( (*spxout), (*spxout) << "IBASIS02 loading of Basis invalidates factorization" << std::endl; ) 218 /* for columns and rows with D_... status, the correct D_... status depends on bounds and sides; if a basis 219 * descriptor is loaded after changing bounds or sides, e.g. in the refine() method, we have to correct them 223 else if (thedesc.rowStatus(i) == SPxBasis::Desc::P_FIXED && theLP->SPxLP::lhs(i) != theLP->SPxLP::rhs(i)) 247 /* for columns and rows with D_... status, the correct D_... status depends on bounds and sides; if a basis 248 * descriptor is loaded after changing bounds or sides, e.g. in the refine() method, we have to correct them 252 else if (thedesc.colStatus(i) == SPxBasis::Desc::P_FIXED && theLP->SPxLP::lower(i) != theLP->SPxLP::upper(i)) 256 else if (theLP->SPxLP::upper(i) >= infinity || (theLP->SPxLP::lower(i) > -infinity && theLP->SPxLP::maxObj(i) < 0.0)) 624 if( thedesc.rowStatus( row ) == Desc::P_ON_UPPER && (!cpxFormat || theLP->LPRowSet::type(row) == LPRow::RANGE) ) 651 assert(theLP->lower(col) <= -infinity || thedesc.colStatus(col) == Desc::P_ON_LOWER || thedesc.colStatus(col) == Desc::P_FIXED); 652 assert(theLP->lower(col) > -infinity || theLP->upper(col) < infinity || thedesc.colStatus(col) == Desc::P_FREE); 789 MSG_INFO3( (*spxout), (*spxout) << "IBASIS13 problems updating factorization; refactorizing basis" 799 // if factorize() detects singularity, an exception is thrown, hence at this point we have a regular basis 813 // with a freshly factorized, regular basis, the update is unlikely to fail; if this happens nevertheless, 817 MSG_INFO3( (*spxout), (*spxout) << "IBASIS14 problems updating factorization; invalidating factorization"
Definition: mpsinput.h:34 virtual Status change(int idx, const SVector &subst, const SSVector *eta=0)=0 Substitute column idx with subst. 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 Status load(const SVector *vec[], int dim)=0 loads dim column vectors vec into the solver. Basis is not known to be dual nor primal feasible. Definition: spxbasis.h:94 Desc::Status dualStatus(const SPxColId &id) const dual Status for the column variable with ID id of the loaded LP. Definition: spxbasis.cpp:34 Read MPS format files. static const char * getRowName(const SPxLP *lp, int idx, const NameSet *rnames, char *buf) Definition: spxbasis.cpp:537 Dymnamic index set. Exception classes for SoPlex. virtual bool isDescValid(const Desc &ds) checks if a Descriptor is valid for the current LP w.r.t. its bounds Definition: spxbasis.cpp:111 int number(const SPxRowId &id) const Returns the row number of the row with identifier id. Definition: spxlpbase.h:450 int lastNzCount number of nonzeros in basis matrix after last fresh factorization Definition: spxbasis.h:390 Ids for LP columns.Class SPxColId provides DataKeys for the column indices of an SPxLP. Definition: spxid.h:36 static const char * getColName(const SPxLP *lp, int idx, const NameSet *cnames, char *buf) Definition: spxbasis.cpp:563 Sparse Linear Solver virtual base class.Class SLinSolver provides a class for solving sparse linear s... Definition: slinsolver.h:43 Entry identifier class for items of a DataSet.Every item in a DataSet is assigned a DataKey by which ... Definition: datakey.h:46 Wrapper for different output streams and verbosity levels. virtual void start()=0 start timer, resume accounting user, system and real time. 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 Desc::Status dualColStatus(int i) const dual Status for the i'th column variable of the loaded LP. Definition: spxbasis.cpp:69 std::ostream & operator<<(std::ostream &s, const VectorBase< R > &vec) Output operator. Definition: basevectors.h:1087 Dynamic vectors. dual variable is set to its upper bound Definition: spxbasis.h:192 virtual bool readBasis(std::istream &in, const NameSet *rowNames, const NameSet *colNames) Definition: spxbasis.cpp:372 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 virtual Real stability() const =0 returns a stability number (0: singularity, 1: perfect stability). SSVectorBase< R > & multAdd(S xx, const SVectorBase< T > &vec) Addition of a scaled vector. Definition: basevectors.h:440 static Timer * createTimer(Timer::TYPE ttype) create timers and allocate memory for them Definition: timerfactory.h:43 Real length() const Floating point approximation of euclidian norm (without any approximation guarantee). Definition: ssvectorbase.h:520 void loadMatrixVecs() loads matrix according to the SPxIds stored in theBaseId. Definition: spxbasis.cpp:91 Definition: slinsolver.h:55 virtual void change(int i, SPxId &id, const SVector *enterVec, const SSVector *eta=0) performs basis update. Definition: spxbasis.cpp:715 Debugging, floating point type and parameter definitions. Simplex basis.Consider the linear program as provided from class SPxLP: where , and ... Definition: spxbasis.h:82 Set of strings.Class NameSet implements a symbol or name table. It allows to store or remove names (i... Definition: nameset.h:61 Simplex basis. Sequential object-oriented SimPlex.SPxSolver is an LP solver class using the revised Simplex algorith... Definition: spxsolver.h:84 Real condition(int maxiters=10, Real tolerance=1e-6) Definition: spxbasis.cpp:978 Definition: mpsinput.h:45 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. primal variable is set to its lower bound Definition: spxbasis.h:187 int number(const DataKey &pkey) const returns number of name with DataKey pkey in NameSet. Definition: nameset.h:212 virtual void loadSolver(SLinSolver *solver, const bool destroy=false) sets up linear solver to use. Definition: spxbasis.cpp:319 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 Sparse vectors.Class SVectorBase provides packed sparse vectors. Such are a sparse vectors... Definition: dvectorbase.h:31 Exception class for status exceptions during the computationsThis class is derived from the SoPlex ex... Definition: exceptions.h:89 Ids for LP rows.Class SPxRowId provides DataKeys for the row indices of an SPxLP. ... Definition: spxid.h:55 #define MSG_INFO3(spxout, x) Prints out message x if the verbosity level is at least SPxOut::INFO3. Definition: spxdefines.h:117 virtual void writeBasis(std::ostream &os, const NameSet *rownames, const NameSet *colnames, const bool cpxFormat=false) const Definition: spxbasis.cpp:589 DataArray< const SVector * > matrix pointers to the vectors of the basis matrix. Definition: spxbasis.h:347 |