SoPlex Documentation
Loading...
Searching...
No Matches

Auto pricer. More...

#include <spxautopr.h>

Inheritance diagram for SPxAutoPR< R >:
SPxPricer< R >

Public Member Functions

Constructors / destructors
 SPxAutoPR ()
 default constructor
 
 SPxAutoPR (const SPxAutoPR &old)
 copy constructor
 
SPxAutoPRoperator= (const SPxAutoPR &rhs)
 assignment operator
 
virtual ~SPxAutoPR ()
 destructor
 
virtual SPxPricer< R > * clone () const
 clone function for polymorphism
 
Access / modification
void setSwitchIters (int iters)
 set max number of iterations before switching pricers
 
void clear ()
 clear the data
 
void setPricingTolerance (R tol)
 set tolerances of internal pricers
 
virtual void load (SPxSolverBase< R > *base)
 set the solver
 
virtual void setType (typename SPxSolverBase< R >::Type)
 set entering/leaving algorithm
 
virtual void setRep (typename SPxSolverBase< R >::Representation)
 set row/column representation
 
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.
 
virtual SPxSolverBase< R > * solver () const
 returns loaded SPxSolverBase object.
 
virtual R pricingTolerance () const
 returns the pricing tolerance
 
virtual void setTolerances (std::shared_ptr< Tolerances > newTolerances)
 set the _tolerances member variable
 
virtual void addedVecs (int)
 n vectors have been added to loaded LP.
 
virtual void addedCoVecs (int)
 n covectors have been added to loaded LP.
 
virtual void removedVec (int)
 vector i was removed from loaded LP.
 
virtual void removedVecs (const int *)
 vectors given by perm have been removed from loaded LP.
 
virtual void removedCoVec (int)
 covector i was removed from loaded LP.
 
virtual void removedCoVecs (const int *)
 covectors given by perm have been removed from loaded LP.
 
virtual bool isConsistent () const
 
 SPxPricer (const char *p_name)
 constructor
 
 SPxPricer (const SPxPricer &old)
 copy constructor
 
SPxPriceroperator= (const SPxPricer &rhs)
 assignment operator
 
virtual ~SPxPricer ()
 destructor.
 

Private Member Functions

bool setActivePricer (typename SPxSolverBase< R >::Type type)
 switches active pricing method
 

Private Attributes

int switchIters
 number of iterations before switching pricers
 
SPxPricer< R > * activepricer
 pointer to currently selected pricer
 
SPxDevexPR< R > devex
 internal Devex pricer
 
SPxSteepExPR< R > steep
 internal Steepest edge pricer
 

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
 
SPxSolverBase< R > * thesolver
 the solver
 
thetolerance
 violation bound
 
std::shared_ptr< Tolerances_tolerances
 tolerances used by the solver
 

Detailed Description

template<class R>
class soplex::SPxAutoPR< R >

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 51 of file spxautopr.h.

Constructor & Destructor Documentation

◆ SPxAutoPR() [1/2]

template<class R >
SPxAutoPR ( )

default constructor

Definition at line 69 of file spxautopr.h.

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

◆ SPxAutoPR() [2/2]

template<class R >
SPxAutoPR ( const SPxAutoPR< R > & old)

copy constructor

Definition at line 77 of file spxautopr.h.

References SPxAutoPR< R >::activepricer, SPxAutoPR< R >::devex, and SPxAutoPR< R >::steep.

◆ ~SPxAutoPR()

template<class R >
virtual ~SPxAutoPR ( )
virtual

destructor

Definition at line 111 of file spxautopr.h.

Member Function Documentation

◆ clear()

template<class R >
void clear ( )
virtual

clear the data

Reimplemented from SPxPricer< R >.

◆ clone()

template<class R >
virtual SPxPricer< R > * clone ( ) const
virtual

clone function for polymorphism

Implements SPxPricer< R >.

Definition at line 114 of file spxautopr.h.

References SPxAutoPR< R >::SPxAutoPR().

◆ entered4()

template<class R >
virtual void entered4 ( SPxId id,
int n )
virtual

Reimplemented from SPxPricer< R >.

◆ left4()

template<class R >
virtual void left4 ( int n,
SPxId id )
virtual

Reimplemented from SPxPricer< R >.

◆ load()

template<class R >
virtual void load ( SPxSolverBase< R > * base)
virtual

set the solver

Reimplemented from SPxPricer< R >.

◆ operator=()

template<class R >
SPxAutoPR & operator= ( const SPxAutoPR< R > & rhs)

◆ selectEnter()

template<class R >
virtual SPxId selectEnter ( )
virtual

Implements SPxPricer< R >.

◆ selectLeave()

template<class R >
virtual int selectLeave ( )
virtual

Implements SPxPricer< R >.

◆ setActivePricer()

template<class R >
bool setActivePricer ( typename SPxSolverBase< R >::Type type)
private

switches active pricing method

◆ setPricingTolerance()

template<class R >
void setPricingTolerance ( R tol)
virtual

set tolerances of internal pricers

Reimplemented from SPxPricer< R >.

◆ setRep()

template<class R >
virtual void setRep ( typename SPxSolverBase< R >::Representation )
virtual

set row/column representation

Reimplemented from SPxPricer< R >.

◆ setSwitchIters()

template<class R >
void setSwitchIters ( int iters)

set max number of iterations before switching pricers

◆ setType()

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

set entering/leaving algorithm

Reimplemented from SPxPricer< R >.

Member Data Documentation

◆ activepricer

template<class R >
SPxPricer<R>* activepricer
private

pointer to currently selected pricer

Definition at line 56 of file spxautopr.h.

Referenced by SPxAutoPR< R >::operator=(), and SPxAutoPR< R >::SPxAutoPR().

◆ devex

template<class R >
SPxDevexPR<R> devex
private

internal Devex pricer

Definition at line 57 of file spxautopr.h.

Referenced by SPxAutoPR< R >::operator=(), and SPxAutoPR< R >::SPxAutoPR().

◆ steep

template<class R >
SPxSteepExPR<R> steep
private

internal Steepest edge pricer

Definition at line 58 of file spxautopr.h.

Referenced by SPxAutoPR< R >::operator=(), and SPxAutoPR< R >::SPxAutoPR().

◆ switchIters

template<class R >
int switchIters
private

number of iterations before switching pricers

Definition at line 55 of file spxautopr.h.

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