Partial multiple pricing.Class SPxParMultPr is an implementation class for SPxPricer implementing Dantzig's default pricing strategy with partial multiple pricing. Partial multiple pricing applies to the entering Simplex only. A set of partialSize eligible pivot indices is selected (partial pricing). In the following Simplex iterations pricing is restricted to these indices (multiple pricing) until no more eliiable pivots are available. Partial multiple pricing significantly reduces the computation time for computing the matrix-vector-product in the Simplex algorithm. More...
#include <spxparmultpr.h>
Classes | |
struct | SPxParMultPr_Tmp |
Helper structure. More... | |
Public Member Functions | |
Construction / destruction | |
SPxParMultPR () | |
default constructor More... | |
SPxParMultPR (const SPxParMultPR &old) | |
copy constructor More... | |
SPxParMultPR & | operator= (const SPxParMultPR &rhs) |
assignment operator More... | |
virtual | ~SPxParMultPR () |
destructor More... | |
virtual SPxPricer< R > * | clone () const |
clone function for polymorphism More... | |
Interface | |
virtual void | load (SPxSolverBase< R > *solver) |
set the solver More... | |
virtual void | setType (typename SPxSolverBase< R >::Type tp) |
set entering or leaving algorithm More... | |
virtual int | selectLeave () |
virtual SPxId | selectEnter () |
Public Member Functions inherited from SPxPricer< R > | |
virtual const char * | getName () const |
get name of pricer. More... | |
virtual void | clear () |
unloads LP. More... | |
virtual SPxSolverBase< R > * | solver () const |
returns loaded SPxSolverBase object. More... | |
virtual R | epsilon () const |
returns violation bound theeps. More... | |
virtual void | setEpsilon (R eps) |
sets violation bound. More... | |
virtual void | setRep (typename SPxSolverBase< R >::Representation) |
sets basis representation. More... | |
virtual void | left4 (int, SPxId) |
performs leaving pivot. More... | |
virtual void | entered4 (SPxId, int) |
performs entering pivot. 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 Attributes | |
Helper data | |
Array< SPxParMultPr_Tmp > | pricSet |
int | multiParts |
int | used |
int | min |
int | last |
int | partialSize |
Set size for partial pricing. 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... | |
Partial multiple pricing.
Class SPxParMultPr is an implementation class for SPxPricer implementing Dantzig's default pricing strategy with partial multiple pricing. Partial multiple pricing applies to the entering Simplex only. A set of partialSize eligible pivot indices is selected (partial pricing). In the following Simplex iterations pricing is restricted to these indices (multiple pricing) until no more eliiable pivots are available. Partial multiple pricing significantly reduces the computation time for computing the matrix-vector-product in the Simplex algorithm.
See SPxPricer for a class documentation.
Definition at line 48 of file spxparmultpr.h.
SPxParMultPR | ( | ) |
default constructor
Definition at line 88 of file spxparmultpr.h.
Referenced by SPxParMultPR< R >::clone().
SPxParMultPR | ( | const SPxParMultPR< R > & | old | ) |
copy constructor
Definition at line 97 of file spxparmultpr.h.
|
virtual |
destructor
Definition at line 123 of file spxparmultpr.h.
|
virtual |
clone function for polymorphism
Implements SPxPricer< R >.
Definition at line 126 of file spxparmultpr.h.
References SPxParMultPR< R >::load(), SPxParMultPR< R >::selectEnter(), SPxParMultPR< R >::selectLeave(), SPxParMultPR< R >::setType(), SPxPricer< R >::solver(), and SPxParMultPR< R >::SPxParMultPR().
|
virtual |
SPxParMultPR& operator= | ( | const SPxParMultPR< R > & | rhs | ) |
assignment operator
Definition at line 107 of file spxparmultpr.h.
References SPxParMultPR< R >::last, SPxParMultPR< R >::min, SPxParMultPR< R >::multiParts, SPxPricer< R >::operator=(), SPxParMultPR< R >::partialSize, SPxParMultPR< R >::pricSet, and SPxParMultPR< R >::used.
|
virtual |
Implements SPxPricer< R >.
Referenced by SPxParMultPR< R >::clone().
|
virtual |
Implements SPxPricer< R >.
Referenced by SPxParMultPR< R >::clone().
|
virtual |
set entering or leaving algorithm
Reimplemented from SPxPricer< R >.
Referenced by SPxParMultPR< R >::clone().
|
private |
Definition at line 77 of file spxparmultpr.h.
Referenced by SPxParMultPR< R >::operator=().
|
private |
Definition at line 75 of file spxparmultpr.h.
Referenced by SPxParMultPR< R >::operator=().
|
private |
Definition at line 71 of file spxparmultpr.h.
Referenced by SPxParMultPR< R >::operator=().
|
private |
Set size for partial pricing.
Definition at line 79 of file spxparmultpr.h.
Referenced by SPxParMultPR< R >::operator=().
|
private |
Definition at line 69 of file spxparmultpr.h.
Referenced by SPxParMultPR< R >::operator=().
|
private |
Definition at line 73 of file spxparmultpr.h.
Referenced by SPxParMultPR< R >::operator=().