Scippy

SoPlex

Sequential object-oriented simPlex

SPxParMultPR< R > Class Template Reference

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...
 
SPxParMultPRoperator= (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...
 
SPxPriceroperator= (const SPxPricer &rhs)
 assignment operator More...
 
virtual ~SPxPricer ()
 destructor. More...
 

Private Attributes

Helper data
Array< SPxParMultPr_TmppricSet
 
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...
 
theeps
 violation bound More...
 

Detailed Description

template<class R>
class soplex::SPxParMultPR< R >

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.

Constructor & Destructor Documentation

◆ SPxParMultPR() [1/2]

default constructor

Definition at line 88 of file spxparmultpr.h.

Referenced by SPxParMultPR< R >::clone().

◆ SPxParMultPR() [2/2]

SPxParMultPR ( const SPxParMultPR< R > &  old)

copy constructor

Definition at line 97 of file spxparmultpr.h.

◆ ~SPxParMultPR()

virtual ~SPxParMultPR ( )
virtual

destructor

Definition at line 123 of file spxparmultpr.h.

Member Function Documentation

◆ clone()

◆ load()

virtual void load ( SPxSolverBase< R > *  solver)
virtual

set the solver

Reimplemented from SPxPricer< R >.

Referenced by SPxParMultPR< R >::clone().

◆ operator=()

◆ selectEnter()

virtual SPxId selectEnter ( )
virtual

Implements SPxPricer< R >.

Referenced by SPxParMultPR< R >::clone().

◆ selectLeave()

virtual int selectLeave ( )
virtual

Implements SPxPricer< R >.

Referenced by SPxParMultPR< R >::clone().

◆ setType()

virtual void setType ( typename SPxSolverBase< R >::Type  tp)
virtual

set entering or leaving algorithm

Reimplemented from SPxPricer< R >.

Referenced by SPxParMultPR< R >::clone().

Member Data Documentation

◆ last

int last
private

Definition at line 77 of file spxparmultpr.h.

Referenced by SPxParMultPR< R >::operator=().

◆ min

int min
private

Definition at line 75 of file spxparmultpr.h.

Referenced by SPxParMultPR< R >::operator=().

◆ multiParts

int multiParts
private

Definition at line 71 of file spxparmultpr.h.

Referenced by SPxParMultPR< R >::operator=().

◆ partialSize

int partialSize
private

Set size for partial pricing.

Definition at line 79 of file spxparmultpr.h.

Referenced by SPxParMultPR< R >::operator=().

◆ pricSet

Array< SPxParMultPr_Tmp > pricSet
private

Definition at line 69 of file spxparmultpr.h.

Referenced by SPxParMultPR< R >::operator=().

◆ used

int used
private

Definition at line 73 of file spxparmultpr.h.

Referenced by SPxParMultPR< R >::operator=().