Steepest edge pricer.Class SPxSteepPR implements a steepest edge pricer to be used with SoPlex. More...
#include <spxsteeppr.h>
Public Types | |
Types | |
enum | Setup { EXACT, DEFAULT } |
How to setup the direction multipliers. More... | |
Public Types inherited from SPxPricer | |
enum | ViolationType { NOT_VIOLATED = 0, VIOLATED = 1, VIOLATED_AND_CHECKED = 2 } |
Public Member Functions | |
void | setupWeights (SPxSolver::Type type) |
setup steepest edge weights More... | |
Construction / destruction | |
SPxSteepPR (const char *name="Steep", Setup mode=DEFAULT) | |
SPxSteepPR (const SPxSteepPR &old) | |
copy constructor More... | |
SPxSteepPR & | operator= (const SPxSteepPR &rhs) |
assignment operator More... | |
virtual | ~SPxSteepPR () |
destructor More... | |
virtual SPxPricer * | clone () const |
clone function for polymorphism More... | |
Access / modification | |
virtual void | load (SPxSolver *base) |
sets the solver More... | |
virtual void | clear () |
clear solver and preferences More... | |
virtual void | setType (SPxSolver::Type) |
set entering/leaving algorithm More... | |
virtual void | setRep (SPxSolver::Representation rep) |
set row/column representation More... | |
virtual int | selectLeave () |
virtual void | left4 (int n, SPxId id) |
virtual SPxId | selectEnter () |
virtual void | entered4 (SPxId id, int n) |
virtual void | addedVecs (int n) |
n vectors have been added to loaded LP. More... | |
virtual void | addedCoVecs (int n) |
n covectors have been added to loaded LP. More... | |
virtual void | removedVec (int i) |
the i'th vector has been removed from the loaded LP. More... | |
virtual void | removedCoVec (int i) |
the i'th covector has been removed from the loaded LP. More... | |
virtual void | removedVecs (const int perm[]) |
n vectors have been removed from loaded LP. More... | |
virtual void | removedCoVecs (const int perm[]) |
n covectors have been removed from loaded LP. More... | |
Consistency check | |
virtual bool | isConsistent () const |
Public Member Functions inherited from SPxPricer | |
virtual const char * | getName () const |
get name of pricer. More... | |
virtual SPxSolver * | solver () const |
returns loaded SPxSolver object. More... | |
virtual Real | epsilon () const |
returns violation bound theeps. More... | |
virtual void | setEpsilon (Real eps) |
sets violation bound. More... | |
virtual void | removedVecs (const int *) |
vectors given by perm have been removed from loaded LP. More... | |
virtual void | removedCoVecs (const int *) |
covectors given by perm have been removed from loaded LP. More... | |
SPxPricer (const char *p_name) | |
constructor More... | |
SPxPricer (const SPxPricer &old) | |
copy constructor More... | |
SPxPricer & | operator= (const SPxPricer &rhs) |
assignment operator More... | |
virtual | ~SPxPricer () |
destructor. More... | |
Private Member Functions | |
int | buildBestPriceVectorLeave (Real feastol) |
prepare data structures for hyper sparse pricing More... | |
int | selectLeaveX (Real tol) |
implementation of full pricing More... | |
int | selectLeaveSparse (Real tol) |
implementation of sparse pricing in the leaving Simplex More... | |
int | selectLeaveHyper (Real tol) |
implementation of hyper sparse pricing in the leaving Simplex More... | |
SPxId | buildBestPriceVectorEnterDim (Real &best, Real feastol) |
build up vector of pricing values for later use More... | |
SPxId | buildBestPriceVectorEnterCoDim (Real &best, Real feastol) |
SPxId | selectEnterX (Real tol) |
choose the best entering index among columns and rows but prefer sparsity More... | |
SPxId | selectEnterSparseDim (Real &best, Real tol) |
implementation of sparse pricing for the entering Simplex (slack variables) More... | |
SPxId | selectEnterSparseCoDim (Real &best, Real tol) |
implementation of sparse pricing for the entering Simplex More... | |
SPxId | selectEnterDenseDim (Real &best, Real tol) |
implementation of selectEnter() in dense case (slack variables) More... | |
SPxId | selectEnterDenseCoDim (Real &best, Real tol) |
implementation of selectEnter() in dense case More... | |
SPxId | selectEnterHyperDim (Real &best, Real feastol) |
implementation of hyper sparse pricing in the entering Simplex More... | |
SPxId | selectEnterHyperCoDim (Real &best, Real feastol) |
implementation of hyper sparse pricing in the entering Simplex More... | |
Private Attributes | |
Data | |
SSVector | workVec |
working vector More... | |
SSVector | workRhs |
working vector More... | |
DataArray< IdxElement > | prices |
temporary array of precomputed pricing values More... | |
DataArray< IdxElement > | pricesCo |
temporary array of precomputed pricing values More... | |
DIdxSet | bestPrices |
array of best pricing candidates More... | |
DIdxSet | bestPricesCo |
array of best pricing candidates More... | |
Real | pi_p |
Setup | setup |
setup type. More... | |
bool | refined |
has a refinement step already been tried? More... | |
Additional Inherited Members | |
Protected Attributes inherited from SPxPricer | |
IdxCompare | compare |
const char * | m_name |
name of the pricer More... | |
SPxSolver * | thesolver |
the solver More... | |
Real | theeps |
violation bound More... | |
Steepest edge pricer.
Class SPxSteepPR implements a steepest edge pricer to be used with SoPlex.
See SPxPricer for a class documentation.
Definition at line 41 of file spxsteeppr.h.
enum Setup |
How to setup the direction multipliers.
Possible settings are EXACT for starting with exactly computed values, or DEFAULT for starting with multipliers set to 1. The latter is the default.
Enumerator | |
---|---|
EXACT | starting with exactly computed values |
DEFAULT | starting with multipliers set to 1 |
Definition at line 53 of file spxsteeppr.h.
SPxSteepPR | ( | const char * | name = "Steep" , |
Setup | mode = DEFAULT |
||
) |
Definition at line 120 of file spxsteeppr.h.
References SPxSteepPR::isConsistent().
Referenced by SPxSteepPR::clone().
SPxSteepPR | ( | const SPxSteepPR & | old | ) |
copy constructor
Definition at line 131 of file spxsteeppr.h.
References SPxSteepPR::isConsistent().
|
virtual |
destructor
Definition at line 159 of file spxsteeppr.h.
|
virtual |
n
covectors have been added to loaded LP.
Reimplemented from SPxPricer.
Definition at line 1008 of file spxsteeppr.cpp.
References SPxSolver::coWeights, VectorBase< R >::dim(), SPxSolver::dim(), DVectorBase< R >::reDim(), SSVectorBase< R >::reDim(), SPxPricer::thesolver, and SPxSteepPR::workVec.
Referenced by SPxHybridPR::addedCoVecs(), and SPxSteepPR::clone().
|
virtual |
n
vectors have been added to loaded LP.
Reimplemented from SPxPricer.
Definition at line 995 of file spxsteeppr.cpp.
References SPxSolver::coDim(), VectorBase< R >::dim(), SPxSolver::ENTER, DVectorBase< R >::reDim(), SPxPricer::thesolver, SPxSolver::type(), and SPxSolver::weights.
Referenced by SPxHybridPR::addedVecs(), and SPxSteepPR::clone().
Definition at line 575 of file spxsteeppr.cpp.
References DIdxSet::addIdx(), DataArray< T >::append(), SPxSteepPR::bestPricesCo, IdxSet::clear(), DataArray< T >::clear(), SPxPricer::compare, soplex::computePrice(), SPxPricer::IdxCompare::elements, DataArray< T >::get_const_ptr(), VectorBase< R >::get_const_ptr(), DataArray< T >::get_ptr(), HYPERPRICINGSIZE, SPxSolver::id(), SPxPricer::IdxElement::idx, IdxSet::index(), SPxSolver::infeasibilitiesCo, SPxSolver::isInfeasibleCo, SPxPricer::NOT_VIOLATED, SPxSteepPR::pricesCo, IdxSet::remove(), IdxSet::size(), DataArray< T >::size(), soplex::SPxQuicksortPart(), SPxSolver::test(), SPxPricer::thesolver, SPxPricer::IdxElement::val, SPxPricer::VIOLATED, SPxPricer::VIOLATED_AND_CHECKED, and SPxSolver::weights.
Referenced by SPxSteepPR::selectEnterX().
build up vector of pricing values for later use
Definition at line 519 of file spxsteeppr.cpp.
References DIdxSet::addIdx(), DataArray< T >::append(), SPxSteepPR::bestPrices, IdxSet::clear(), DataArray< T >::clear(), SPxSolver::coId(), SPxPricer::compare, soplex::computePrice(), SPxSolver::coTest(), SPxSolver::coWeights, SPxPricer::IdxCompare::elements, DataArray< T >::get_const_ptr(), VectorBase< R >::get_const_ptr(), DataArray< T >::get_ptr(), HYPERPRICINGSIZE, SPxPricer::IdxElement::idx, IdxSet::index(), SPxSolver::infeasibilities, SPxSolver::isInfeasible, SPxPricer::NOT_VIOLATED, SPxSteepPR::prices, IdxSet::remove(), IdxSet::size(), DataArray< T >::size(), soplex::SPxQuicksortPart(), SPxPricer::thesolver, SPxPricer::IdxElement::val, SPxPricer::VIOLATED, and SPxPricer::VIOLATED_AND_CHECKED.
Referenced by SPxSteepPR::selectEnterX().
|
private |
prepare data structures for hyper sparse pricing
Definition at line 223 of file spxsteeppr.cpp.
References DIdxSet::addIdx(), DataArray< T >::append(), SPxSteepPR::bestPrices, IdxSet::clear(), DataArray< T >::clear(), SPxPricer::compare, soplex::computePrice(), SPxSolver::coWeights, SPxPricer::IdxCompare::elements, SPxSolver::fTest(), DataArray< T >::get_const_ptr(), VectorBase< R >::get_const_ptr(), DataArray< T >::get_ptr(), HYPERPRICINGSIZE, SPxPricer::IdxElement::idx, IdxSet::index(), SPxSolver::infeasibilities, SPxSolver::isInfeasible, SPxSteepPR::prices, IdxSet::size(), DataArray< T >::size(), soplex::SPxQuicksortPart(), SPxPricer::thesolver, SPxPricer::IdxElement::val, SPxPricer::VIOLATED, and SPxPricer::VIOLATED_AND_CHECKED.
Referenced by SPxSteepPR::selectLeave().
|
virtual |
clear solver and preferences
Reimplemented from SPxPricer.
Definition at line 33 of file spxsteeppr.cpp.
References SPxPricer::thesolver.
Referenced by SPxHybridPR::clear(), SPxAutoPR::clear(), and SPxSteepPR::clone().
|
virtual |
clone function for polymorphism
Implements SPxPricer.
Reimplemented in SPxSteepExPR.
Definition at line 162 of file spxsteeppr.h.
References SPxSteepPR::addedCoVecs(), SPxSteepPR::addedVecs(), SPxSteepPR::clear(), SPxSteepPR::entered4(), SPxSteepPR::isConsistent(), SPxSteepPR::left4(), SPxSteepPR::load(), SPxSteepPR::removedCoVec(), SPxSteepPR::removedCoVecs(), SPxSteepPR::removedVec(), SPxSteepPR::removedVecs(), SPxSteepPR::selectEnter(), SPxSteepPR::selectLeave(), SPxSteepPR::setRep(), SPxSteepPR::setType(), and SPxSteepPR::SPxSteepPR().
|
virtual |
Reimplemented from SPxPricer.
Definition at line 453 of file spxsteeppr.cpp.
References SPxSolver::basis(), SPxSolver::coPvec(), SPxSolver::coWeights, UpdateVector::delta(), SPxSolver::ENTER, SPxSolver::epsilon(), SPxSolver::fVec(), VectorBase< R >::get_const_ptr(), VectorBase< R >::get_ptr(), UpdateVector::idx(), IdxSet::index(), soplex::infinity, SPxBasis::iteration(), SPxSteepPR::pi_p, SPxSolver::pVec(), IdxSet::size(), SPxPricer::thesolver, SPxSolver::type(), SSVectorBase< R >::values(), SPxSolver::vector(), SPxSolver::weights, and SPxSteepPR::workVec.
Referenced by SPxSteepPR::clone().
|
virtual |
Reimplemented from SPxPricer.
Definition at line 1071 of file spxsteeppr.cpp.
References SPxSolver::basis(), SPxSolver::coDim(), SPxBasis::coSolve(), SPxSolver::coWeights, SPxSolver::dim(), SPxSolver::ENTER, SPxSolver::epsilon(), SPxSteepPR::EXACT, SPxSolver::LEAVE, SPxSolver::leavetol(), VectorBase< R >::length2(), MSG_ERROR, MSGinconsistent, SPxSteepPR::setup, SPxPricer::thesolver, SPxSolver::type(), SPxSolver::unitVector(), and SPxSolver::weights.
Referenced by SPxSteepPR::clone(), SPxHybridPR::isConsistent(), SPxSteepExPR::operator=(), SPxSteepPR::operator=(), SPxSteepPR::selectEnter(), SPxSteepPR::selectLeave(), SPxSteepExPR::SPxSteepExPR(), and SPxSteepPR::SPxSteepPR().
|
virtual |
Reimplemented from SPxPricer.
Definition at line 174 of file spxsteeppr.cpp.
References SPxSolver::basis(), soplex::computePrice(), SPxSolver::coPvec(), SPxSolver::coWeights, UpdateVector::delta(), SPxSolver::fVec(), VectorBase< R >::get_const_ptr(), VectorBase< R >::get_ptr(), UpdateVector::idx(), IdxSet::index(), soplex::infinity, SPxBasis::iteration(), SPxSolver::LEAVE, SSVectorBase< R >::length2(), MSG_INFO3, IdxSet::size(), soplex::spxAbs(), SPxSolver::spxout, SPxPricer::theeps, SPxPricer::thesolver, SPxSolver::type(), SSVectorBase< R >::values(), and SPxSteepPR::workVec.
Referenced by SPxSteepPR::clone().
|
virtual |
sets the solver
Reimplemented from SPxPricer.
Definition at line 38 of file spxsteeppr.cpp.
References SSVectorBase< R >::clear(), SPxSolver::dim(), SSVectorBase< R >::reDim(), SPxPricer::thesolver, SPxSteepPR::workRhs, and SPxSteepPR::workVec.
Referenced by SPxSteepPR::clone(), SPxHybridPR::load(), and SPxAutoPR::load().
SPxSteepPR& operator= | ( | const SPxSteepPR & | rhs | ) |
assignment operator
Definition at line 142 of file spxsteeppr.h.
References SPxSteepPR::isConsistent(), SPxPricer::operator=(), SPxSteepPR::pi_p, SPxSteepPR::refined, SPxSteepPR::setup, SPxSteepPR::workRhs, and SPxSteepPR::workVec.
Referenced by SPxSteepExPR::operator=().
|
virtual |
the
i'th covector has been removed from the loaded LP.
Reimplemented from SPxPricer.
Definition at line 1047 of file spxsteeppr.cpp.
References SPxSolver::coWeights, VectorBase< R >::dim(), SPxSolver::dim(), DVectorBase< R >::reDim(), and SPxPricer::thesolver.
Referenced by SPxSteepPR::clone().
|
virtual |
n
covectors have been removed from loaded LP.
Definition at line 1055 of file spxsteeppr.cpp.
References SPxSolver::coWeights, VectorBase< R >::dim(), SPxSolver::dim(), DVectorBase< R >::reDim(), and SPxPricer::thesolver.
Referenced by SPxSteepPR::clone().
|
virtual |
the
i'th vector has been removed from the loaded LP.
Reimplemented from SPxPricer.
Definition at line 1019 of file spxsteeppr.cpp.
References SPxSolver::coDim(), VectorBase< R >::dim(), DVectorBase< R >::reDim(), SPxPricer::thesolver, and SPxSolver::weights.
Referenced by SPxSteepPR::clone().
|
virtual |
n
vectors have been removed from loaded LP.
Definition at line 1027 of file spxsteeppr.cpp.
References SPxSolver::coDim(), VectorBase< R >::dim(), SPxSolver::ENTER, DVectorBase< R >::reDim(), SPxPricer::thesolver, SPxSolver::type(), and SPxSolver::weights.
Referenced by SPxSteepPR::clone().
|
virtual |
Implements SPxPricer.
Definition at line 631 of file spxsteeppr.cpp.
References SPxSolver::basis(), UpdateVector::delta(), SPxSolver::fVec(), SPxSteepPR::isConsistent(), SPxId::isValid(), SSVectorBase< R >::length2(), MSG_INFO3, SPxSteepPR::pi_p, SPxSteepPR::refined, SPxSteepPR::selectEnterX(), SPxSolver::setup4coSolve(), SSVectorBase< R >::setup_and_assign(), SPxBasis::solve4update(), SPxSolver::spxout, STEEP_REFINETOL, SPxPricer::theeps, SPxPricer::thesolver, SPxSolver::vector(), SPxSteepPR::workRhs, and SPxSteepPR::workVec.
Referenced by SPxSteepPR::clone().
implementation of selectEnter() in dense case
Definition at line 967 of file spxsteeppr.cpp.
References SPxSolver::coDim(), soplex::computePrice(), VectorBase< R >::get_const_ptr(), SPxSolver::id(), SPxSolver::test(), SPxPricer::thesolver, and SPxSolver::weights.
Referenced by SPxSteepPR::selectEnterX().
implementation of selectEnter() in dense case (slack variables)
Definition at line 940 of file spxsteeppr.cpp.
References SPxSolver::coId(), soplex::computePrice(), SPxSolver::coTest(), SPxSolver::coWeights, SPxSolver::dim(), VectorBase< R >::get_const_ptr(), and SPxPricer::thesolver.
Referenced by SPxSteepPR::selectEnterX().
implementation of hyper sparse pricing in the entering Simplex
Definition at line 788 of file spxsteeppr.cpp.
References DIdxSet::addIdx(), SPxSteepPR::bestPricesCo, soplex::computePrice(), VectorBase< R >::get_const_ptr(), SPxSolver::id(), IdxSet::index(), soplex::infinity, SPxSolver::isInfeasibleCo, SPxPricer::NOT_VIOLATED, IdxSet::remove(), IdxSet::size(), SPxSolver::test(), SPxPricer::thesolver, SPxSolver::updateViolsCo, SPxPricer::VIOLATED, SPxPricer::VIOLATED_AND_CHECKED, and SPxSolver::weights.
Referenced by SPxSteepPR::selectEnterX().
implementation of hyper sparse pricing in the entering Simplex
Definition at line 704 of file spxsteeppr.cpp.
References DIdxSet::addIdx(), SPxSteepPR::bestPrices, SPxSolver::coId(), soplex::computePrice(), SPxSolver::coTest(), SPxSolver::coWeights, VectorBase< R >::get_const_ptr(), IdxSet::index(), soplex::infinity, SPxSolver::isInfeasible, SPxPricer::NOT_VIOLATED, IdxSet::remove(), IdxSet::size(), SPxPricer::thesolver, SPxSolver::updateViols, SPxPricer::VIOLATED, and SPxPricer::VIOLATED_AND_CHECKED.
Referenced by SPxSteepPR::selectEnterX().
implementation of sparse pricing for the entering Simplex
Definition at line 906 of file spxsteeppr.cpp.
References soplex::computePrice(), VectorBase< R >::get_const_ptr(), SPxSolver::id(), IdxSet::index(), SPxSolver::infeasibilitiesCo, SPxSolver::isInfeasibleCo, SPxPricer::NOT_VIOLATED, IdxSet::remove(), IdxSet::size(), SPxSolver::test(), SPxPricer::thesolver, and SPxSolver::weights.
Referenced by SPxSteepPR::selectEnterX().
implementation of sparse pricing for the entering Simplex (slack variables)
Definition at line 872 of file spxsteeppr.cpp.
References SPxSolver::coId(), soplex::computePrice(), SPxSolver::coTest(), SPxSolver::coWeights, VectorBase< R >::get_const_ptr(), IdxSet::index(), SPxSolver::infeasibilities, SPxSolver::isInfeasible, SPxPricer::NOT_VIOLATED, IdxSet::remove(), IdxSet::size(), and SPxPricer::thesolver.
Referenced by SPxSteepPR::selectEnterX().
choose the best entering index among columns and rows but prefer sparsity
Definition at line 662 of file spxsteeppr.cpp.
References SPxSolver::basis(), SPxSteepPR::bestPrices, SPxSteepPR::bestPricesCo, SPxSteepPR::buildBestPriceVectorEnterCoDim(), SPxSteepPR::buildBestPriceVectorEnterDim(), SPxSolver::hyperPricingEnter, soplex::infinity, SPxId::isValid(), SPxBasis::lastUpdate(), SPxSteepPR::refined, SPxSteepPR::selectEnterDenseCoDim(), SPxSteepPR::selectEnterDenseDim(), SPxSteepPR::selectEnterHyperCoDim(), SPxSteepPR::selectEnterHyperDim(), SPxSteepPR::selectEnterSparseCoDim(), SPxSteepPR::selectEnterSparseDim(), IdxSet::size(), SPxSolver::sparsePricingEnter, SPxSolver::sparsePricingEnterCo, SPARSITY_TRADEOFF, and SPxPricer::thesolver.
Referenced by SPxSteepPR::selectEnter().
|
virtual |
Implements SPxPricer.
Definition at line 270 of file spxsteeppr.cpp.
References SPxSolver::basis(), SPxSteepPR::bestPrices, SPxSteepPR::buildBestPriceVectorLeave(), SPxSolver::coPvec(), SPxBasis::coSolve(), UpdateVector::delta(), SPxSolver::hyperPricingLeave, SPxSteepPR::isConsistent(), SSVectorBase< R >::isConsistent(), SPxBasis::lastUpdate(), MSG_INFO3, SPxSteepPR::refined, SPxSteepPR::selectLeaveHyper(), SPxSteepPR::selectLeaveSparse(), SPxSteepPR::selectLeaveX(), SPxSolver::setup4solve(), SSVectorBase< R >::setup_and_assign(), IdxSet::size(), SPxSolver::sparsePricingLeave, SPxSolver::spxout, STEEP_REFINETOL, SPxPricer::theeps, SPxPricer::thesolver, SPxSolver::unitVector(), SPxSteepPR::workRhs, and SPxSteepPR::workVec.
Referenced by SPxSteepPR::clone().
|
private |
implementation of hyper sparse pricing in the leaving Simplex
Definition at line 377 of file spxsteeppr.cpp.
References DIdxSet::addIdx(), SPxSteepPR::bestPrices, soplex::computePrice(), SPxSolver::coWeights, SPxSolver::fTest(), VectorBase< R >::get_const_ptr(), IdxSet::index(), soplex::infinity, SPxSolver::isInfeasible, SPxPricer::NOT_VIOLATED, IdxSet::remove(), IdxSet::size(), SPxPricer::thesolver, SPxSolver::updateViols, SPxPricer::VIOLATED, and SPxPricer::VIOLATED_AND_CHECKED.
Referenced by SPxSteepPR::selectLeave().
|
private |
implementation of sparse pricing in the leaving Simplex
Definition at line 341 of file spxsteeppr.cpp.
References soplex::computePrice(), SPxSolver::coWeights, SPxSolver::fTest(), VectorBase< R >::get_const_ptr(), IdxSet::index(), SPxSolver::infeasibilities, soplex::infinity, SPxSolver::isInfeasible, SPxPricer::NOT_VIOLATED, IdxSet::remove(), IdxSet::size(), SPxPricer::thesolver, SPxPricer::VIOLATED, and SPxPricer::VIOLATED_AND_CHECKED.
Referenced by SPxSteepPR::selectLeave().
|
private |
implementation of full pricing
Definition at line 314 of file spxsteeppr.cpp.
References soplex::computePrice(), SPxSolver::coWeights, SPxSolver::dim(), SPxSolver::fTest(), VectorBase< R >::get_const_ptr(), soplex::infinity, and SPxPricer::thesolver.
Referenced by SPxSteepPR::selectLeave().
|
virtual |
set row/column representation
Reimplemented from SPxPricer.
Definition at line 161 of file spxsteeppr.cpp.
References SSVectorBase< R >::clear(), SPxSolver::coWeights, SSVectorBase< R >::dim(), SPxSolver::dim(), SSVectorBase< R >::reDim(), SPxPricer::thesolver, SPxSolver::weights, and SPxSteepPR::workVec.
Referenced by SPxSteepPR::clone(), SPxHybridPR::setRep(), and SPxAutoPR::setRep().
|
virtual |
set entering/leaving algorithm
Reimplemented from SPxPricer.
Definition at line 51 of file spxsteeppr.cpp.
References SPxSteepPR::bestPrices, SPxSteepPR::bestPricesCo, IdxSet::clear(), SSVectorBase< R >::clear(), SPxSolver::coDim(), SPxSolver::dim(), SPxSolver::ENTER, SPxSolver::epsilon(), SPxSteepPR::prices, SPxSteepPR::pricesCo, SPxSteepPR::refined, DataArray< T >::reMax(), SSVectorBase< R >::setEpsilon(), DIdxSet::setMax(), SPxSteepPR::setupWeights(), SPxPricer::thesolver, SPxSteepPR::workRhs, and SPxSteepPR::workVec.
Referenced by SPxSteepPR::clone().
void setupWeights | ( | SPxSolver::Type | type | ) |
setup steepest edge weights
Definition at line 72 of file spxsteeppr.cpp.
References SPxSolver::basis(), SPxSolver::coDim(), SPxBasis::coSolve(), SPxSolver::coWeights, SPxSteepPR::DEFAULT, VectorBase< R >::dim(), SPxSolver::dim(), SPxSolver::ENTER, SPxSolver::epsilon(), SPxSolver::isTimeLimitReached(), SPxSolver::LEAVE, VectorBase< R >::length2(), SVectorBase< R >::length2(), MSG_INFO1, DVectorBase< R >::reDim(), SPxSteepPR::setup, SPxSolver::spxout, SPxPricer::thesolver, SPxSolver::unitVector(), SPxSolver::vector(), SPxSolver::weights, and SPxSolver::weightsAreSetup.
Referenced by SPxSteepPR::setType().
|
private |
array of best pricing candidates
Definition at line 76 of file spxsteeppr.h.
Referenced by SPxSteepPR::buildBestPriceVectorEnterDim(), SPxSteepPR::buildBestPriceVectorLeave(), SPxSteepPR::selectEnterHyperDim(), SPxSteepPR::selectEnterX(), SPxSteepPR::selectLeave(), SPxSteepPR::selectLeaveHyper(), and SPxSteepPR::setType().
|
private |
array of best pricing candidates
Definition at line 78 of file spxsteeppr.h.
Referenced by SPxSteepPR::buildBestPriceVectorEnterCoDim(), SPxSteepPR::selectEnterHyperCoDim(), SPxSteepPR::selectEnterX(), and SPxSteepPR::setType().
|
private |
Definition at line 80 of file spxsteeppr.h.
Referenced by SPxSteepPR::entered4(), SPxSteepPR::operator=(), and SPxSteepPR::selectEnter().
|
private |
temporary array of precomputed pricing values
Definition at line 72 of file spxsteeppr.h.
Referenced by SPxSteepPR::buildBestPriceVectorEnterDim(), SPxSteepPR::buildBestPriceVectorLeave(), and SPxSteepPR::setType().
|
private |
temporary array of precomputed pricing values
Definition at line 74 of file spxsteeppr.h.
Referenced by SPxSteepPR::buildBestPriceVectorEnterCoDim(), and SPxSteepPR::setType().
|
private |
has a refinement step already been tried?
Definition at line 84 of file spxsteeppr.h.
Referenced by SPxSteepPR::operator=(), SPxSteepPR::selectEnter(), SPxSteepPR::selectEnterX(), SPxSteepPR::selectLeave(), and SPxSteepPR::setType().
|
private |
setup type.
Definition at line 82 of file spxsteeppr.h.
Referenced by SPxSteepPR::isConsistent(), SPxSteepPR::operator=(), and SPxSteepPR::setupWeights().
|
private |
working vector
Definition at line 70 of file spxsteeppr.h.
Referenced by SPxSteepPR::load(), SPxSteepPR::operator=(), SPxSteepPR::selectEnter(), SPxSteepPR::selectLeave(), and SPxSteepPR::setType().
|
private |
working vector
Definition at line 68 of file spxsteeppr.h.
Referenced by SPxSteepPR::addedCoVecs(), SPxSteepPR::entered4(), SPxSteepPR::left4(), SPxSteepPR::load(), SPxSteepPR::operator=(), SPxSteepPR::selectEnter(), SPxSteepPR::selectLeave(), SPxSteepPR::setRep(), and SPxSteepPR::setType().