soplexlegacy.cpp
Go to the documentation of this file.
23 SoPlexLegacy::SoPlexLegacy(SPxOut& outstream, SPxSolver::Type p_type, SPxSolver::Representation p_rep) 76 m_slu = base.m_slu; // call of SLinSolver::clone() SPxBasis assignment operator not necessary (done by m_solver.setSolver(&m_slu) below) 141 , m_slu(old.m_slu) // call of SLinSolver::clone() SPxBasis copy constructor not necessary (done by m_solver.setSolver(&m_slu) below) 265 switch(m_simplifier->simplify(work, m_solver.epsilon(), m_solver.feastol(), m_solver.opttol(), keepbounds)) 456 if((b_status == SPxBasis::NO_PROBLEM || (has_simplifier() && b_status == SPxBasis::SINGULAR)) && !m_vanished) 473 if((b_status == SPxBasis::NO_PROBLEM || (has_simplifier() && b_status == SPxBasis::SINGULAR)) && !m_vanished) 487 SPxSolver::Status SoPlexLegacy::getBasis(SPxSolver::VarStatus rows[], SPxSolver::VarStatus cols[]) const 490 if((b_status == SPxBasis::NO_PROBLEM || (has_simplifier() && b_status == SPxBasis::SINGULAR)) && !m_vanished) 523 MSG_ERROR( std::cerr << "ESOLVR02 Primal ray with presolving not yet implemented" << std::endl; ) 542 MSG_ERROR( std::cerr << "ESOLVR02 Dual farkas with presolving not yet implemented" << std::endl; )
virtual SPxSolver::VarStatus getBasisColStatus(int) const =0 gets basis status for a single column. virtual SPxSolver::Status getRedCost(Vector &vector) const Definition: soplexlegacy.cpp:419 virtual const Vector & unsimplifiedSlacks()=0 returns a reference to the unsimplified slack values. Exception class for things that should NEVER happen.This class is derived from the SoPlex exception b... Definition: exceptions.h:109 virtual Status getPrimal(Vector &vector) const get solution vector for primal variables. Definition: spxsolve.cpp:1219 Bound flipping ratio test ("long step dual") for SoPlex.Class SPxBoundFlippingRT provides an implemen... Definition: spxboundflippingrt.h:51 virtual void getBasis(SPxSolver::VarStatus[], SPxSolver::VarStatus[], const int rowsSize=-1, const int colsSize=-1) const =0 get optimal basis. virtual void unsimplify(const Vector &, const Vector &, const Vector &, const Vector &, const SPxSolver::VarStatus[], const SPxSolver::VarStatus[]) reconstructs an optimal solution for the unsimplified LP. Definition: spxsimplifier.h:189 const VectorBase< R > & maxObj() const Returns objective vector for maximization problem. Definition: spxlpbase.h:384 virtual SPxSolver::Status getDualfarkas(Vector &vector) const Definition: soplexlegacy.cpp:537 virtual void unscaleSlacks(Vector &s) const unscale dense slack vector given in s. Definition: spxscaler.cpp:279 the problem was so much simplified that it vanished Definition: spxsimplifier.h:87 virtual void setPreScaler(SPxScaler *scaler, const bool destroy=false) setup prescaler to use. If destroy is true, scaler will be freed in destructor. Definition: soplexlegacy.cpp:186 void setBasis(const VarStatus rows[], const VarStatus cols[]) set the lp solver's basis. Definition: spxsolver.cpp:1795 virtual Result simplify(SPxLP &lp, Real eps, Real delta)=0 simplify SPxLP lp with identical primal and dual feasibility tolerance. virtual void setStarter(SPxStarter *starter, const bool destroy=false) setup starting basis generator to use. If destroy is true, starter will be freed in destructor... Definition: spxsolver.cpp:154 virtual Status getRedCost(Vector &vector) const get vector of reduced costs. Definition: spxsolve.cpp:1299 virtual bool isUnsimplified() const specifies whether an optimal solution has already been unsimplified. Definition: spxsimplifier.h:194 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 virtual SPxSolver::Status getDual(Vector &vector) const Definition: soplexlegacy.cpp:385 SPxLPBase< Real > & operator=(const SPxLPBase< Real > &old) Assignment operator. Definition: spxlpbase.h:2385 virtual void unscaleDual(Vector &pi) const unscale dense dual solution vector given in pi. Definition: spxscaler.cpp:296 LP has been proven to be primal infeasible. Definition: spxsolver.h:208 virtual bool readBasisFile(const char *filename, const NameSet *rowNames, const NameSet *colNames) Definition: spxfileio.cpp:24 Real opttol() const allowed optimality, i.e., dual feasibility tolerance. Definition: spxsolver.h:697 virtual void setSolver(SLinSolver *slu, const bool destroy=false) setup linear solver to use. If destroy is true, slusolver will be freed in destructor. Definition: spxsolver.cpp:83 virtual void qualBoundViolation(Real &maxviol, Real &sumviol) const get violations of bounds. Definition: soplexlegacy.cpp:594 Exception class for out of memory exceptions.This class is derived from the SoPlex exception base cla... Definition: exceptions.h:70 const SPxRatioTester * ratiotester() const return loaded SPxRatioTester. Definition: spxsolver.h:1636 nothing known about basis status (possibly due to a singular basis in transformed problem) ... Definition: spxsolver.h:184 VarStatus getBasisRowStatus(int row) const gets basis status for a single row Definition: spxsolver.cpp:1710 virtual void setPostScaler(SPxScaler *scaler, const bool destroy=false) setup postscaler to use. If destroy is true, scaler will be freed in destructor. Definition: soplexlegacy.cpp:202 SoPlexLegacy(SPxOut &outstream, SPxSolver::Type type=SPxSolver::LEAVE, SPxSolver::Representation rep=SPxSolver::COLUMN) default construtor. Definition: soplexlegacy.cpp:23 SoPlexLegacy & operator=(const SoPlexLegacy &rhs) assignment operator. Definition: soplexlegacy.cpp:67 virtual Status getDual(Vector &vector) const get current solution vector for dual variables. Definition: spxsolve.cpp:1268 const char * getColName(int idx, const NameSet *cnames, char *buf) Definition: soplexlegacy.h:276 virtual void qualConstraintViolation(Real &maxviol, Real &sumviol) const get violation of constraints. Definition: soplexlegacy.cpp:557 virtual SPxSolver::Status getPrimal(Vector &vector) const Definition: soplexlegacy.cpp:317 Status getBasis(VarStatus rows[], VarStatus cols[], const int rowsSize=-1, const int colsSize=-1) const get current basis, and return solver status. Definition: spxsolver.cpp:1722 LP simplification abstract base class.Instances of classes derived from SPxSimplifier may be loaded t... Definition: spxsimplifier.h:41 virtual Status getPrimalray(Vector &vector) const get primal ray in case of unboundedness. Definition: spxsolve.cpp:1342 virtual void setPricer(SPxPricer *pricer, const bool destroy=false) setup pricer to use. If destroy is true, pricer will be freed in destructor. Definition: spxsolver.cpp:101 VarStatus getBasisColStatus(int col) const gets basis status for a single column Definition: spxsolver.cpp:1716 preconfigured SoPlexLegacy LP-solver. Wrapper for several output streams. A verbosity level is used to decide which stream to use and wheth... Definition: spxout.h:63 #define MSG_ERROR(x) Prints out message x if the verbosity level is at least SPxOut::ERROR. Definition: spxdefines.h:109 virtual bool writeBasisFile(const char *filename, const NameSet *rowNames, const NameSet *colNames) Definition: soplexlegacy.cpp:635 SPxSolver::Representation rep() const return current basis representation. Definition: soplexlegacy.h:114 SPxSolver::Status getBasis(SPxSolver::VarStatus rows[], SPxSolver::VarStatus cols[]) const get current basis, and return solver status. Definition: soplexlegacy.cpp:487 virtual void unscalePrimal(Vector &x) const unscale dense primal solution vector given in x. Definition: spxscaler.cpp:262 virtual bool readBasisFile(const char *filename, const NameSet *rowNames, const NameSet *colNames) Definition: soplexlegacy.cpp:624 const char * getRowName(int idx, const NameSet *rnames, char *buf) Definition: soplexlegacy.h:297 bool m_freePostScaler true iff m_postScaler should be freed inside of this object Definition: soplexlegacy.h:56 virtual const Vector & unsimplifiedPrimal()=0 returns a reference to the unsimplified primal solution. Set of strings.Class NameSet implements a symbol or name table. It allows to store or remove names (i... Definition: nameset.h:61 virtual void unscaleRedCost(Vector &r) const unscale dense reduced cost vector given in r. Definition: spxscaler.cpp:313 SPxSolver::VarStatus getBasisColStatus(int col) const gets basis status for a single column. Definition: soplexlegacy.cpp:470 SPxSolver::VarStatus getBasisRowStatus(int row) const gets basis status for a single row. Definition: soplexlegacy.cpp:453 Everything should be within this namespace. bool isBasisValid(DataArray< VarStatus > rows, DataArray< VarStatus > cols) check a given basis for validity. Definition: spxsolver.cpp:1741 virtual void setTester(SPxRatioTester *tester, const bool destroy=false) setup ratio-tester to use. If destroy is true, tester will be freed in destructor. Definition: spxsolver.cpp:128 DataArray< SPxSolver::VarStatus > m_rowsbasisstatus Definition: soplexlegacy.h:59 virtual Status getSlacks(Vector &vector) const get vector of slack variables. Definition: spxsolve.cpp:1378 LP scaler abstract base class.Instances of classes derived from SPxScaler may be loaded to SoPlex in ... Definition: spxscaler.h:39 virtual const Vector & unsimplifiedDual()=0 returns a reference to the unsimplified dual solution. virtual bool writeState(const char *filename, const NameSet *rowNames=NULL, const NameSet *colNames=NULL) const Definition: soplexlegacy.cpp:710 bool m_freeSimplifier true iff m_simplifier should be freed inside of this object Definition: soplexlegacy.h:57 DataArray< SPxSolver::VarStatus > m_colsbasisstatus Definition: soplexlegacy.h:58 virtual SPxSolver::Status getSlacks(Vector &vector) const Definition: soplexlegacy.cpp:351 const SVectorBase< R > & rowVector(int i) const Gets row vector of row i. Definition: spxlpbase.h:212 Exception class for status exceptions during the computationsThis class is derived from the SoPlex ex... Definition: exceptions.h:89 virtual Status getDualfarkas(Vector &vector) const get dual farkas proof of infeasibility. Definition: spxsolve.cpp:1360 virtual bool writeState(const char *filename, const NameSet *rowNames=NULL, const NameSet *colNames=NULL, const bool cpxFormat=false) const Definition: spxwritestate.cpp:31 bool m_freePreScaler true iff m_preScaler should be freed inside of this object Definition: soplexlegacy.h:55 virtual const Vector & unsimplifiedRedCost()=0 returns a reference to the unsimplified reduced costs. virtual SPxSolver::VarStatus getBasisRowStatus(int) const =0 gets basis status for a single row. void unsimplify() const undoes preprocessing such that the unsimplified solution values and basis is available ... Definition: soplexlegacy.cpp:719 virtual void setSimplifier(SPxSimplifier *simpli, const bool destroy=false) setup simplifier to use. If destroy is true, simpli will be freed in destructor. Definition: soplexlegacy.cpp:218 Steepest edge pricer.Class SPxSteepPR implements a steepest edge pricer to be used with SoPlex... Definition: spxsteeppr.h:41 virtual SPxSolver::Status getPrimalray(Vector &vector) const Definition: soplexlegacy.cpp:518 void setBasisStatus(SPxBasis::SPxStatus stat) set the lp solver's basis status. Definition: spxsolver.h:1905 |