Hybrid pricer.The hybrid pricer for SoPlex tries to guess the best pricing strategy to use for pricing the loaded LP with the loaded algorithm type and basis representation. Currently it does so by switching between SPxSteepPR, SPxDevexPR and SPxParMultPR. More...
#include <spxhybridpr.h>
Public Member Functions | |
Access / modification | |
virtual void | setEpsilon (R eps) |
sets the epsilon More... | |
virtual void | load (SPxSolverBase< R > *solver) |
sets the solver More... | |
virtual void | clear () |
clears all pricers and unselects the current pricer More... | |
virtual void | setType (typename SPxSolverBase< R >::Type tp) |
sets entering or leaving algorithm More... | |
virtual void | setRep (typename SPxSolverBase< R >::Representation rep) |
sets row or column representation More... | |
virtual int | selectLeave () |
selects the leaving algorithm More... | |
virtual SPxId | selectEnter () |
selects the entering algorithm More... | |
virtual void | left4 (int n, SPxId id) |
calls left4 on the current pricer More... | |
virtual void | entered4 (SPxId id, int n) |
calls entered4 on the current pricer More... | |
virtual void | addedVecs (int n) |
calls addedVecs(n) on all pricers More... | |
virtual void | addedCoVecs (int n) |
calls addedCoVecs(n) on all pricers More... | |
Consistency check | |
virtual bool | isConsistent () const |
consistency check More... | |
Construction / destruction | |
SPxHybridPR () | |
default constructor More... | |
SPxHybridPR (const SPxHybridPR &old) | |
copy constructor More... | |
SPxHybridPR & | operator= (const SPxHybridPR &rhs) |
assignment operator More... | |
virtual | ~SPxHybridPR () |
destructor More... | |
virtual SPxPricer< R > * | clone () const |
clone function for polymorphism More... | |
Public Member Functions inherited from SPxPricer< R > | |
virtual const char * | getName () const |
get name of pricer. More... | |
virtual SPxSolverBase< R > * | solver () const |
returns loaded SPxSolverBase object. More... | |
virtual R | epsilon () const |
returns violation bound theeps. More... | |
virtual void | removedVec (int) |
vector i was removed from loaded LP. More... | |
virtual void | removedVecs (const int *) |
vectors given by perm have been removed from loaded LP. More... | |
virtual void | removedCoVec (int) |
covector i was 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 Attributes | |
Data | |
SPxSteepPR< R > | steep |
steepest edge pricer More... | |
SPxParMultPR< R > | parmult |
partial multiple pricer More... | |
SPxDevexPR< R > | devex |
devex pricer More... | |
SPxPricer< R > * | thepricer |
the currently used pricer More... | |
R | hybridFactor |
factor between dim and coDim of the problem to decide about the pricer More... | |
Additional Inherited Members | |
Public Types inherited from SPxPricer< R > | |
enum | ViolationType { NOT_VIOLATED = 0, VIOLATED = 1, VIOLATED_AND_CHECKED = 2 } |
Protected Attributes inherited from SPxPricer< R > | |
IdxCompare | compare |
const char * | m_name |
name of the pricer More... | |
SPxSolverBase< R > * | thesolver |
the solver More... | |
R | theeps |
violation bound More... | |
Hybrid pricer.
The hybrid pricer for SoPlex tries to guess the best pricing strategy to use for pricing the loaded LP with the loaded algorithm type and basis representation. Currently it does so by switching between SPxSteepPR, SPxDevexPR and SPxParMultPR.
See SPxPricer for a class documentation.
Definition at line 44 of file spxhybridpr.h.
SPxHybridPR | ( | ) |
default constructor
Definition at line 101 of file spxhybridpr.h.
Referenced by SPxHybridPR< R >::clone().
SPxHybridPR | ( | const SPxHybridPR< R > & | old | ) |
copy constructor
Definition at line 107 of file spxhybridpr.h.
References SPxHybridPR< R >::devex, SPxHybridPR< R >::parmult, SPxHybridPR< R >::steep, and SPxHybridPR< R >::thepricer.
|
virtual |
destructor
Definition at line 163 of file spxhybridpr.h.
|
virtual |
calls addedCoVecs(n) on all pricers
Reimplemented from SPxPricer< R >.
|
virtual |
calls addedVecs(n) on all pricers
Reimplemented from SPxPricer< R >.
|
virtual |
clears all pricers and unselects the current pricer
Reimplemented from SPxPricer< R >.
|
virtual |
clone function for polymorphism
Implements SPxPricer< R >.
Definition at line 166 of file spxhybridpr.h.
References SPxHybridPR< R >::SPxHybridPR().
|
virtual |
calls entered4 on the current pricer
Reimplemented from SPxPricer< R >.
|
virtual |
consistency check
Reimplemented from SPxPricer< R >.
|
virtual |
calls left4 on the current pricer
Reimplemented from SPxPricer< R >.
|
virtual |
sets the solver
Reimplemented from SPxPricer< R >.
SPxHybridPR& operator= | ( | const SPxHybridPR< R > & | rhs | ) |
assignment operator
Definition at line 132 of file spxhybridpr.h.
References SPxHybridPR< R >::devex, SPxHybridPR< R >::hybridFactor, SPxPricer< R >::operator=(), SPxHybridPR< R >::parmult, SPxHybridPR< R >::steep, and SPxHybridPR< R >::thepricer.
|
virtual |
selects the entering algorithm
Implements SPxPricer< R >.
|
virtual |
selects the leaving algorithm
Implements SPxPricer< R >.
|
virtual |
sets the epsilon
Reimplemented from SPxPricer< R >.
|
virtual |
sets row or column representation
Reimplemented from SPxPricer< R >.
|
virtual |
sets entering or leaving algorithm
Reimplemented from SPxPricer< R >.
|
private |
devex pricer
Definition at line 54 of file spxhybridpr.h.
Referenced by SPxHybridPR< R >::operator=(), and SPxHybridPR< R >::SPxHybridPR().
|
private |
factor between dim and coDim of the problem to decide about the pricer
Definition at line 58 of file spxhybridpr.h.
Referenced by SPxHybridPR< R >::operator=().
|
private |
partial multiple pricer
Definition at line 52 of file spxhybridpr.h.
Referenced by SPxHybridPR< R >::operator=(), and SPxHybridPR< R >::SPxHybridPR().
|
private |
steepest edge pricer
Definition at line 50 of file spxhybridpr.h.
Referenced by SPxHybridPR< R >::operator=(), and SPxHybridPR< R >::SPxHybridPR().
|
private |
the currently used pricer
Definition at line 56 of file spxhybridpr.h.
Referenced by SPxHybridPR< R >::operator=(), and SPxHybridPR< R >::SPxHybridPR().