Loading...
Searching...
No Matches
SPxPricer< R > Class Template Referenceabstract Abstract pricer base class. More...
Inheritance diagram for SPxPricer< R >:
![]()
Detailed Descriptiontemplate<class R> class soplex::SPxPricer< R > Abstract pricer base class. Class SPxPricer is a pure virtual class defining the interface for pricer classes to be used by SoPlex. The pricer's task is to select a vector to enter or leave the simplex basis, depending on the chosen simplex type. An SPxPricer first loads the SoPlex object for which pricing is to be performed. Then, depending of the SPxSolverBase<R>::Type, methods selectEnter() and entered4() (for entering Simplex) or selectLeave() and left4() (for leaving Simplex) are called by SoPlex. The SPxPricer object is informed of a change of the SPxSolverBase<R>::Type by calling method setType(). Definition at line 62 of file spxsolver.h. Member Enumeration Documentation◆ ViolationType
template<class R >
Definition at line 108 of file spxpricer.h. Constructor & Destructor Documentation◆ SPxPricer() [1/2]
template<class R >
constructor Definition at line 284 of file spxpricer.h. ◆ SPxPricer() [2/2]copy constructor Definition at line 291 of file spxpricer.h. ◆ ~SPxPricer()
template<class R >
destructor. Definition at line 312 of file spxpricer.h. References SPxPricer< R >::m_name, and SPxPricer< R >::thesolver. Member Function Documentation◆ addedCoVecs()
template<class R >
Reimplemented in SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. Definition at line 246 of file spxpricer.h. ◆ addedVecs()
template<class R >
Reimplemented in SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. Definition at line 243 of file spxpricer.h. ◆ clear()
template<class R >
unloads LP. Reimplemented in SPxAutoPR< R >, SPxAutoPR< BP >, SPxHybridPR< R >, SPxSteepPR< R >, and SPxSteepPR< BP >. Definition at line 133 of file spxpricer.h. References SPxPricer< R >::thesolver. ◆ clone()
template<class R >
clone function for polymorphism Implemented in SPxAutoPR< R >, SPxAutoPR< BP >, SPxDantzigPR< R >, SPxDantzigPR< BP >, SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxParMultPR< R >, SPxParMultPR< BP >, SPxSteepExPR< R >, SPxSteepExPR< BP >, SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. ◆ entered4()
template<class R >
performs entering pivot. Method entered4() is called after each simplex iteration in ENTER mode. It informs the SPxPricer that variable Reimplemented in SPxAutoPR< R >, SPxAutoPR< BP >, SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxSteepPR< R >, and SPxSteepPR< BP >. Definition at line 234 of file spxpricer.h. ◆ getName()
template<class R >
◆ isConsistent()
template<class R >
Reimplemented in SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. Definition at line 270 of file spxpricer.h. References SPxPricer< R >::thesolver. Referenced by SPxPricer< R >::operator=(). ◆ left4()
template<class R >
performs leaving pivot. Method left4() is called after each simplex iteration in LEAVE mode. It informs the SPxPricer that the Reimplemented in SPxAutoPR< R >, SPxAutoPR< BP >, SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxSteepPR< R >, and SPxSteepPR< BP >. Definition at line 206 of file spxpricer.h. ◆ load()
template<class R >
loads LP. Loads the solver and LP for which pricing steps are to be performed. Reimplemented in SPxAutoPR< R >, SPxAutoPR< BP >, SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxParMultPR< R >, SPxParMultPR< BP >, SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. Definition at line 127 of file spxpricer.h. References SPxPricer< R >::thesolver. ◆ operator=()assignment operator Definition at line 298 of file spxpricer.h. References SPxPricer< R >::isConsistent(), SPxPricer< R >::m_name, SPxPricer< R >::thesolver, and SPxPricer< R >::thetolerance. Referenced by SPxAutoPR< R >::operator=(), SPxDantzigPR< R >::operator=(), SPxDevexPR< R >::operator=(), SPxHybridPR< R >::operator=(), SPxParMultPR< R >::operator=(), SPxSteepPR< R >::operator=(), and SPxWeightPR< R >::operator=(). ◆ pricingTolerance()
template<class R >
returns the pricing tolerance Definition at line 154 of file spxpricer.h. References SPxPricer< R >::thetolerance. ◆ removedCoVec()
template<class R >
covector Reimplemented in SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. Definition at line 260 of file spxpricer.h. ◆ removedCoVecs()
template<class R >
covectors given by Definition at line 263 of file spxpricer.h. ◆ removedVec()
template<class R >
vector Reimplemented in SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. Definition at line 254 of file spxpricer.h. ◆ removedVecs()
template<class R >
vectors given by Definition at line 257 of file spxpricer.h. ◆ selectEnter()
template<class R >
selects Id to enter basis. Selects the SPxId of a vector to enter the basis. The selected id, must not represent a basic index (i.e. solver()->isBasic(id) must be false). However, the corresponding test value needs not to be less than -pricingTolerance(). If not, SoPlex will discard the pivot. Note: When method selectEnter() is called by the loaded SoPlex object, all values from coTest() are up to date. However, whether the elements of test() are up to date depends on the SPxSolverBase<R>::Pricing type. Implemented in SPxAutoPR< R >, SPxAutoPR< BP >, SPxDantzigPR< R >, SPxDantzigPR< BP >, SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxParMultPR< R >, SPxParMultPR< BP >, SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. ◆ selectLeave()
template<class R >
returns selected index to leave basis. Selects the index of a vector to leave the basis. The selected index i, say, must be in the range 0 <= i < solver()->dim() and its tested value must fullfill solver()->test()[i] < -pricingTolerance(). Implemented in SPxAutoPR< R >, SPxAutoPR< BP >, SPxDantzigPR< R >, SPxDantzigPR< BP >, SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxParMultPR< R >, SPxParMultPR< BP >, SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. ◆ setPricingTolerance()
template<class R >
sets pricing tolerance. Inequality violations are accepted, if their size is less than Reimplemented in SPxAutoPR< R >, SPxAutoPR< BP >, and SPxHybridPR< R >. Definition at line 147 of file spxpricer.h. References SPxPricer< R >::thetolerance. ◆ setRep()
template<class R >
sets basis representation. Informs pricer about (a change of) the loaded SoPlex's Representation. Reimplemented in SPxAutoPR< R >, SPxAutoPR< BP >, SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. Definition at line 181 of file spxpricer.h. ◆ setTolerances()
template<class R >
set the _tolerances member variable Definition at line 161 of file spxpricer.h. ◆ setType()
template<class R >
sets pricing type. Informs pricer about (a change of) the loaded SoPlex's Type. In the sequel, only the corresponding select methods may be called. Reimplemented in SPxAutoPR< R >, SPxAutoPR< BP >, SPxDevexPR< R >, SPxDevexPR< BP >, SPxHybridPR< R >, SPxParMultPR< R >, SPxParMultPR< BP >, SPxSteepPR< R >, SPxSteepPR< BP >, and SPxWeightPR< R >. Definition at line 170 of file spxpricer.h. References SPxPricer< R >::thesolver. ◆ solver()
template<class R >
returns loaded SPxSolverBase object. Definition at line 139 of file spxpricer.h. References SPxPricer< R >::thesolver. Member Data Documentation◆ _tolerances
template<class R >
tolerances used by the solver Definition at line 72 of file spxpricer.h. ◆ compare
template<class R >
Definition at line 103 of file spxpricer.h. ◆ m_name
template<class R >
name of the pricer Definition at line 64 of file spxpricer.h. Referenced by SPxPricer< R >::getName(), SPxPricer< R >::operator=(), and SPxPricer< R >::~SPxPricer(). ◆ thesolver
template<class R >
the solver Definition at line 68 of file spxpricer.h. Referenced by SPxPricer< R >::clear(), SPxPricer< R >::isConsistent(), SPxPricer< R >::load(), SPxPricer< R >::operator=(), SPxPricer< R >::setType(), SPxPricer< R >::solver(), and SPxPricer< R >::~SPxPricer(). ◆ thetolerance
template<class R >
violation bound Definition at line 70 of file spxpricer.h. Referenced by SPxPricer< R >::operator=(), SPxPricer< R >::pricingTolerance(), and SPxPricer< R >::setPricingTolerance().
|