Devex pricer.The Devex Pricer for SoPlex implements an approximate steepest edge pricing, that does without solving an extra linear system and computing the scalar products. More...
#include <spxdevexpr.h>
Public Member Functions | |
Construction / destruction | |
| SPxDevexPR () | |
| default constructor More... | |
| SPxDevexPR (const SPxDevexPR &old) | |
| copy constructor More... | |
| SPxDevexPR & | operator= (const SPxDevexPR &rhs) |
| assignment operator More... | |
| virtual | ~SPxDevexPR () |
| destructor More... | |
| virtual SPxPricer< R > * | clone () const |
| clone function for polymorphism More... | |
Access / modification | |
| virtual void | load (SPxSolverBase< R > *base) |
| sets 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) |
| 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... | |
Consistency check | |
| virtual bool | isConsistent () const |
| consistency check More... | |
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 | 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 Member Functions | |
Private helpers | |
| void | setupWeights (typename SPxSolverBase< R >::Type) |
| set entering/leaving algorithm More... | |
| int | buildBestPriceVectorLeave (R feastol) |
| build up vector of pricing values for later use More... | |
| int | selectLeaveX (R feastol, int start=0, int incr=1) |
| internal implementation of SPxPricer::selectLeave() More... | |
| int | selectLeaveSparse (R feastol) |
| implementation of sparse pricing in the leaving Simplex More... | |
| int | selectLeaveHyper (R feastol) |
| implementation of hyper sparse pricing in the leaving Simplex More... | |
| SPxId | buildBestPriceVectorEnterDim (R &best, R feastol) |
| build up vector of pricing values for later use More... | |
| SPxId | buildBestPriceVectorEnterCoDim (R &best, R feastol) |
| SPxId | selectEnterX (R tol) |
| choose the best entering index among columns and rows but prefer sparsity More... | |
| SPxId | selectEnterSparseDim (R &best, R feastol) |
| implementation of sparse pricing in the entering Simplex (slack variables) More... | |
| SPxId | selectEnterSparseCoDim (R &best, R feastol) |
| implementation of sparse pricing in the entering Simplex More... | |
| SPxId | selectEnterDenseDim (R &best, R feastol, int start=0, int incr=1) |
| SPxPricer::selectEnter() in dense case (slack variabels) More... | |
| SPxId | selectEnterDenseCoDim (R &best, R feastol, int start=0, int incr=1) |
| SPxPricer::selectEnter() in dense case. More... | |
| SPxId | selectEnterHyperDim (R &best, R feastol) |
| implementation of hyper sparse pricing in the entering Simplex More... | |
| SPxId | selectEnterHyperCoDim (R &best, R feastol) |
| implementation of hyper sparse pricing in the entering Simplex More... | |
Private Attributes | |
Data | |
| R | last |
| penalty, selected at last iteration. More... | |
| Array< typename SPxPricer< R >::IdxElement > | prices |
| temporary array of precomputed pricing values More... | |
| Array< typename SPxPricer< R >::IdxElement > | pricesCo |
| temporary array of precomputed pricing values More... | |
| DIdxSet | bestPrices |
| set of best pricing candidates More... | |
| DIdxSet | bestPricesCo |
| set of best pricing candidates More... | |
| bool | refined |
| has a refinement step already been tried? 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... | |
Devex pricer.
The Devex Pricer for SoPlex implements an approximate steepest edge pricing, that does without solving an extra linear system and computing the scalar products.
See SPxPricer for a class documentation.
Definition at line 44 of file spxdevexpr.h.
| SPxDevexPR | ( | ) |
default constructor
Definition at line 99 of file spxdevexpr.h.
Referenced by SPxDevexPR< R >::clone().
| SPxDevexPR | ( | const SPxDevexPR< R > & | old | ) |
copy constructor
Definition at line 105 of file spxdevexpr.h.
|
virtual |
destructor
Definition at line 122 of file spxdevexpr.h.
|
virtual |
n covectors have been added to loaded LP.
Reimplemented from SPxPricer< R >.
Referenced by SPxDevexPR< R >::clone().
|
virtual |
n vectors have been added to loaded LP.
Reimplemented from SPxPricer< R >.
Referenced by SPxDevexPR< R >::clone().
|
private |
|
private |
build up vector of pricing values for later use
|
private |
build up vector of pricing values for later use
|
virtual |
clone function for polymorphism
Implements SPxPricer< R >.
Definition at line 125 of file spxdevexpr.h.
References SPxDevexPR< R >::addedCoVecs(), SPxDevexPR< R >::addedVecs(), SPxDevexPR< R >::entered4(), SPxDevexPR< R >::isConsistent(), SPxDevexPR< R >::left4(), SPxDevexPR< R >::load(), SPxDevexPR< R >::selectEnter(), SPxDevexPR< R >::selectLeave(), SPxDevexPR< R >::setRep(), SPxDevexPR< R >::setType(), and SPxDevexPR< R >::SPxDevexPR().
|
virtual |
Reimplemented from SPxPricer< R >.
Referenced by SPxDevexPR< R >::clone().
|
virtual |
|
virtual |
Reimplemented from SPxPricer< R >.
Referenced by SPxDevexPR< R >::clone().
|
virtual |
| SPxDevexPR& operator= | ( | const SPxDevexPR< R > & | rhs | ) |
assignment operator
Definition at line 111 of file spxdevexpr.h.
References SPxDevexPR< R >::last, and SPxPricer< R >::operator=().
|
virtual |
Implements SPxPricer< R >.
Referenced by SPxDevexPR< R >::clone().
|
private |
SPxPricer::selectEnter() in dense case.
|
private |
SPxPricer::selectEnter() in dense case (slack variabels)
|
private |
implementation of hyper sparse pricing in the entering Simplex
|
private |
implementation of hyper sparse pricing in the entering Simplex
|
private |
implementation of sparse pricing in the entering Simplex
|
private |
implementation of sparse pricing in the entering Simplex (slack variables)
|
private |
choose the best entering index among columns and rows but prefer sparsity
|
virtual |
Implements SPxPricer< R >.
Referenced by SPxDevexPR< R >::clone().
|
private |
implementation of hyper sparse pricing in the leaving Simplex
|
private |
implementation of sparse pricing in the leaving Simplex
|
private |
internal implementation of SPxPricer::selectLeave()
|
virtual |
set row/column representation
Reimplemented from SPxPricer< R >.
Referenced by SPxDevexPR< R >::clone().
|
virtual |
set entering/leaving algorithm
Reimplemented from SPxPricer< R >.
Referenced by SPxDevexPR< R >::clone().
|
private |
set entering/leaving algorithm
|
private |
set of best pricing candidates
Definition at line 56 of file spxdevexpr.h.
|
private |
set of best pricing candidates
Definition at line 57 of file spxdevexpr.h.
|
private |
penalty, selected at last iteration.
Definition at line 51 of file spxdevexpr.h.
Referenced by SPxDevexPR< R >::operator=().
|
private |
temporary array of precomputed pricing values
Definition at line 53 of file spxdevexpr.h.
|
private |
temporary array of precomputed pricing values
Definition at line 55 of file spxdevexpr.h.
|
private |
has a refinement step already been tried?
Definition at line 58 of file spxdevexpr.h.