| 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 |