Auto pricer.This pricer switches between Devex and Steepest edge pricer based on the difficulty of the problem which is determined by the number of iterations. More...
#include <spxautopr.h>
Public Member Functions | |
Constructors / destructors | |
| SPxAutoPR () | |
| default constructor More... | |
| SPxAutoPR (const SPxAutoPR &old) | |
| copy constructor More... | |
| SPxAutoPR & | operator= (const SPxAutoPR &rhs) |
| assignment operator More... | |
| virtual | ~SPxAutoPR () |
| destructor More... | |
| virtual SPxPricer< R > * | clone () const |
| clone function for polymorphism More... | |
Access / modification | |
| void | setSwitchIters (int iters) |
| set max number of iterations before switching pricers More... | |
| void | clear () |
| clear the data More... | |
| void | setEpsilon (R eps) |
| set epsilon of internal pricers More... | |
| virtual void | load (SPxSolverBase< R > *base) |
| set the solver More... | |
| virtual void | setType (typename SPxSolverBase< R >::Type) |
| set entering/leaving algorithm More... | |
| virtual void | setRep (typename SPxSolverBase< R >::Representation) |
| set row/column representation More... | |
| virtual int | selectLeave () |
| virtual SPxId | selectEnter () |
| virtual void | left4 (int n, SPxId id) |
| virtual void | entered4 (SPxId id, int n) |
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 | addedVecs (int) |
n vectors have been added to loaded LP. More... | |
| virtual void | addedCoVecs (int) |
n covectors have been added to loaded LP. 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... | |
| virtual bool | isConsistent () const |
| 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 | |
| bool | setActivePricer (typename SPxSolverBase< R >::Type type) |
| switches active pricing method More... | |
Private Attributes | |
| int | switchIters |
| number of iterations before switching pricers More... | |
| SPxPricer< R > * | activepricer |
| pointer to currently selected pricer More... | |
| SPxDevexPR< R > | devex |
| internal Devex pricer More... | |
| SPxSteepExPR< R > | steep |
| internal Steepest edge 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... | |
Auto pricer.
This pricer switches between Devex and Steepest edge pricer based on the difficulty of the problem which is determined by the number of iterations.
See SPxPricer for a class documentation.
Definition at line 42 of file spxautopr.h.
| SPxAutoPR | ( | ) |
default constructor
Definition at line 60 of file spxautopr.h.
Referenced by SPxAutoPR< R >::clone().
copy constructor
Definition at line 68 of file spxautopr.h.
References SPxAutoPR< R >::activepricer, SPxAutoPR< R >::devex, and SPxAutoPR< R >::steep.
|
virtual |
destructor
Definition at line 102 of file spxautopr.h.
|
virtual |
|
virtual |
clone function for polymorphism
Implements SPxPricer< R >.
Definition at line 105 of file spxautopr.h.
References SPxAutoPR< R >::clear(), SPxAutoPR< R >::entered4(), SPxAutoPR< R >::left4(), SPxAutoPR< R >::load(), SPxAutoPR< R >::selectEnter(), SPxAutoPR< R >::selectLeave(), SPxAutoPR< R >::setEpsilon(), SPxAutoPR< R >::setRep(), SPxAutoPR< R >::setSwitchIters(), SPxAutoPR< R >::setType(), and SPxAutoPR< R >::SPxAutoPR().
|
virtual |
Reimplemented from SPxPricer< R >.
Referenced by SPxAutoPR< R >::clone().
|
virtual |
Reimplemented from SPxPricer< R >.
Referenced by SPxAutoPR< R >::clone().
|
virtual |
assignment operator
Definition at line 82 of file spxautopr.h.
References SPxAutoPR< R >::activepricer, SPxAutoPR< R >::devex, SPxPricer< R >::operator=(), SPxAutoPR< R >::steep, and SPxAutoPR< R >::switchIters.
|
virtual |
Implements SPxPricer< R >.
Referenced by SPxAutoPR< R >::clone().
|
virtual |
Implements SPxPricer< R >.
Referenced by SPxAutoPR< R >::clone().
|
private |
switches active pricing method
|
virtual |
set epsilon of internal pricers
Reimplemented from SPxPricer< R >.
Referenced by SPxAutoPR< R >::clone().
|
virtual |
set row/column representation
Reimplemented from SPxPricer< R >.
Referenced by SPxAutoPR< R >::clone().
| void setSwitchIters | ( | int | iters | ) |
set max number of iterations before switching pricers
Referenced by SPxAutoPR< R >::clone().
|
virtual |
set entering/leaving algorithm
Reimplemented from SPxPricer< R >.
Referenced by SPxAutoPR< R >::clone().
|
private |
pointer to currently selected pricer
Definition at line 47 of file spxautopr.h.
Referenced by SPxAutoPR< R >::operator=(), and SPxAutoPR< R >::SPxAutoPR().
|
private |
internal Devex pricer
Definition at line 48 of file spxautopr.h.
Referenced by SPxAutoPR< R >::operator=(), and SPxAutoPR< R >::SPxAutoPR().
|
private |
internal Steepest edge pricer
Definition at line 49 of file spxautopr.h.
Referenced by SPxAutoPR< R >::operator=(), and SPxAutoPR< R >::SPxAutoPR().
|
private |
number of iterations before switching pricers
Definition at line 46 of file spxautopr.h.
Referenced by SPxAutoPR< R >::operator=().