All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SPxDevexPR Class Reference Devex pricer.The Devex Pricer for SoPlex implements an approximate steepest edge pricing, that does without solving an extra linear system and computing the scalar products. More...
Inheritance diagram for SPxDevexPR:
![]()
Detailed DescriptionDevex pricer. The Devex Pricer for SoPlex implements an approximate steepest edge pricing, that does without solving an extra linear system and computing the scalar products. See SPxPricer for a class documentation.
Definition at line 43 of file spxdevexpr.h. Constructor & Destructor Documentation
copy constructor Definition at line 95 of file spxdevexpr.h.
destructor Definition at line 117 of file spxdevexpr.h. Member Function Documentation
Reimplemented from SPxPricer. Definition at line 525 of file spxdevexpr.cpp. References SPxDevexPR::coPenalty, Vector::dim(), SPxSolver::dim(), SPxSolver::ENTER, DVector::reDim(), SPxPricer::thesolver, and SPxSolver::type(). Referenced by SPxHybridPR::addedCoVecs(), and SPxDevexPR::setRep().
Reimplemented from SPxPricer. Definition at line 516 of file spxdevexpr.cpp. References SPxSolver::coDim(), Vector::dim(), SPxSolver::ENTER, SPxDevexPR::penalty, DVector::reDim(), SPxPricer::thesolver, and SPxSolver::type(). Referenced by SPxHybridPR::addedVecs(), and SPxDevexPR::setRep().
clone function for polymorphism Implements SPxPricer. Definition at line 120 of file spxdevexpr.h. References SPxDevexPR::SPxDevexPR().
Reimplemented from SPxPricer. Definition at line 466 of file spxdevexpr.cpp. References SPxDevexPR::entered4X().
internal implementation of SPxPricer::entered4()
Definition at line 475 of file spxdevexpr.cpp. References SPxDevexPR::coPenalty, SPxSolver::coPvec(), UpdateVector::delta(), SPxSolver::ENTER, SPxSolver::epsilon(), SPxSolver::fVec(), UpdateVector::idx(), IdxSet::index(), SPxDevexPR::init(), SPxDevexPR::last, SPxDevexPR::penalty, SPxSolver::pVec(), IdxSet::size(), SPxPricer::thesolver, and SSVector::values(). Referenced by SPxDevexPR::entered4().
set entering/leaving algorithm Definition at line 43 of file spxdevexpr.cpp. References SPxDevexPR::coPenalty, Vector::dim(), SPxSolver::ENTER, SPxDevexPR::isConsistent(), and SPxDevexPR::penalty. Referenced by SPxDevexPR::entered4X(), and SPxDevexPR::setType().
consistency check Reimplemented from SPxPricer. Definition at line 31 of file spxdevexpr.cpp. References SPxSolver::coDim(), SPxDevexPR::coPenalty, Vector::dim(), SPxSolver::dim(), MSGinconsistent, SPxDevexPR::penalty, and SPxPricer::thesolver. Referenced by SPxDevexPR::init(), SPxHybridPR::isConsistent(), SPxDevexPR::load(), and SPxDevexPR::setRep().
Reimplemented from SPxPricer. Definition at line 241 of file spxdevexpr.cpp. References SPxDevexPR::left4X().
internal implementation of SPxPricer::left4() Definition at line 246 of file spxdevexpr.cpp. References SPxDevexPR::coPenalty, SPxSolver::coPvec(), UpdateVector::delta(), SPxSolver::fVec(), UpdateVector::idx(), SSVector::length2(), MSG_ERROR, IdxSet::size(), soplex::spxout, SPxPricer::theeps, SPxPricer::thesolver, and SSVector::values(). Referenced by SPxDevexPR::left4().
sets the solver Reimplemented from SPxPricer. Definition at line 24 of file spxdevexpr.cpp. References SPxDevexPR::isConsistent(), SPxSolver::rep(), SPxDevexPR::setRep(), and SPxPricer::thesolver. Referenced by SPxHybridPR::load().
assignment operator Definition at line 103 of file spxdevexpr.h. References SPxDevexPR::coPenalty, SPxDevexPR::last, SPxPricer::operator=(), and SPxDevexPR::penalty.
Implements SPxPricer. Definition at line 281 of file spxdevexpr.cpp. References DEVEX_REFINETOL, SPxId::isValid(), MSG_INFO3, SPxDevexPR::refined, SPxDevexPR::selectEnterX(), soplex::spxout, SPxPricer::theeps, and SPxPricer::thesolver. SPxPricer::selectEnter() in dense case. Definition at line 435 of file spxdevexpr.cpp. References Vector::dim(), Vector::get_const_ptr(), SPxSolver::id(), SPxDevexPR::last, SPxDevexPR::penalty, SPxSolver::test(), and SPxPricer::thesolver. Referenced by SPxDevexPR::selectEnterX(). SPxPricer::selectEnter() in dense case (slack variabels) Definition at line 404 of file spxdevexpr.cpp. References SPxSolver::coId(), SPxDevexPR::coPenalty, SPxSolver::coTest(), Vector::dim(), Vector::get_const_ptr(), SPxDevexPR::last, and SPxPricer::thesolver. Referenced by SPxDevexPR::selectEnterX(). implementation of sparse pricing in the entering Simplex Definition at line 361 of file spxdevexpr.cpp. References Vector::dim(), Vector::get_const_ptr(), SPxSolver::id(), IdxSet::index(), SPxSolver::infeasibilitiesCo, SPxSolver::isInfeasibleCo, SPxDevexPR::last, SPxDevexPR::penalty, IdxSet::remove(), IdxSet::size(), SPxSolver::test(), and SPxPricer::thesolver. Referenced by SPxDevexPR::selectEnterX(). implementation of sparse pricing in the entering Simplex (slack variables) Definition at line 319 of file spxdevexpr.cpp. References SPxSolver::coId(), SPxDevexPR::coPenalty, SPxSolver::coTest(), Vector::dim(), Vector::get_const_ptr(), IdxSet::index(), SPxSolver::infeasibilities, SPxSolver::isInfeasible, SPxDevexPR::last, IdxSet::remove(), IdxSet::size(), and SPxPricer::thesolver. Referenced by SPxDevexPR::selectEnterX(). choose the best entering index among columns and rows but prefer sparsity Definition at line 300 of file spxdevexpr.cpp. References SPxId::isValid(), SPxDevexPR::selectEnterDenseCoDim(), SPxDevexPR::selectEnterDenseDim(), SPxDevexPR::selectEnterSparseCoDim(), SPxDevexPR::selectEnterSparseDim(), SPxSolver::sparsePricingEnter, SPxSolver::sparsePricingEnterCo, SPARSITY_TRADEOFF, and SPxPricer::thesolver. Referenced by SPxDevexPR::selectEnter().
Implements SPxPricer. Definition at line 80 of file spxdevexpr.cpp. References DEVEX_REFINETOL, MSG_INFO3, SPxDevexPR::refined, SPxDevexPR::selectLeavePart(), SPxDevexPR::selectLeaveSparse(), SPxDevexPR::selectLeaveX(), SPxSolver::sparsePricingLeave, soplex::spxout, SPxPricer::theeps, and SPxPricer::thesolver. implementation of partial pricing Definition at line 130 of file spxdevexpr.cpp. References SPxDevexPR::coPenalty, Vector::dim(), SPxSolver::fTest(), Vector::get_const_ptr(), IMPROVEMENT_STEPLENGTH, IMPROVEMENT_THRESHOLD, SPxDevexPR::last, MAX_PRICING_CANDIDATES, and SPxPricer::thesolver. Referenced by SPxDevexPR::selectLeave(). implementation of sparse pricing in the leaving Simplex Definition at line 201 of file spxdevexpr.cpp. References SPxDevexPR::coPenalty, SPxSolver::fTest(), Vector::get_const_ptr(), IdxSet::index(), SPxSolver::infeasibilities, SPxSolver::isInfeasible, SPxDevexPR::last, IdxSet::remove(), IdxSet::size(), and SPxPricer::thesolver. Referenced by SPxDevexPR::selectLeave(). internal implementation of SPxPricer::selectLeave() Definition at line 103 of file spxdevexpr.cpp. References SPxDevexPR::coPenalty, Vector::dim(), SPxSolver::fTest(), Vector::get_const_ptr(), SPxDevexPR::last, and SPxPricer::thesolver. Referenced by SPxDevexPR::selectLeave().
set row/column representation
Reimplemented from SPxPricer. Definition at line 70 of file spxdevexpr.cpp. References SPxDevexPR::addedCoVecs(), SPxDevexPR::addedVecs(), SPxSolver::coDim(), SPxSolver::dim(), SPxDevexPR::isConsistent(), and SPxPricer::thesolver. Referenced by SPxDevexPR::load(), and SPxHybridPR::setRep().
set entering/leaving algorithm Reimplemented from SPxPricer. Definition at line 61 of file spxdevexpr.cpp. References SPxDevexPR::init(), and SPxDevexPR::refined. Member Data Documentation
vector of pricing penalties. Definition at line 52 of file spxdevexpr.h. Referenced by SPxDevexPR::addedCoVecs(), SPxDevexPR::entered4X(), SPxDevexPR::init(), SPxDevexPR::isConsistent(), SPxDevexPR::left4X(), SPxDevexPR::operator=(), SPxDevexPR::selectEnterDenseDim(), SPxDevexPR::selectEnterSparseDim(), SPxDevexPR::selectLeavePart(), SPxDevexPR::selectLeaveSparse(), and SPxDevexPR::selectLeaveX().
penalty, selected at last iteration. Definition at line 50 of file spxdevexpr.h. Referenced by SPxDevexPR::entered4X(), SPxDevexPR::operator=(), SPxDevexPR::selectEnterDenseCoDim(), SPxDevexPR::selectEnterDenseDim(), SPxDevexPR::selectEnterSparseCoDim(), SPxDevexPR::selectEnterSparseDim(), SPxDevexPR::selectLeavePart(), SPxDevexPR::selectLeaveSparse(), and SPxDevexPR::selectLeaveX().
vector of pricing penalties. Definition at line 51 of file spxdevexpr.h. Referenced by SPxDevexPR::addedVecs(), SPxDevexPR::entered4X(), SPxDevexPR::init(), SPxDevexPR::isConsistent(), SPxDevexPR::operator=(), SPxDevexPR::selectEnterDenseCoDim(), and SPxDevexPR::selectEnterSparseCoDim().
has a refinement step already been tried? Definition at line 53 of file spxdevexpr.h. Referenced by SPxDevexPR::selectEnter(), SPxDevexPR::selectLeave(), and SPxDevexPR::setType().
|