SoPlex Documentation
Loading...
Searching...
No Matches
SPxDantzigPR< R > Class Template Reference

Dantzig pricer. More...

#include <spxdantzigpr.h>

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

Public Member Functions

Constructors / destructors
 SPxDantzigPR ()
 default constructor
 
 SPxDantzigPR (const SPxDantzigPR &old)
 copy constructor
 
SPxDantzigPRoperator= (const SPxDantzigPR &rhs)
 assignment operator
 
virtual ~SPxDantzigPR ()
 destructor
 
virtual SPxPricer< R > * clone () const
 clone function for polymorphism
 
Select enter/leave
virtual int selectLeave ()
 
virtual SPxId selectEnter ()
 
- Public Member Functions inherited from SPxPricer< R >
virtual const char * getName () const
 get name of pricer.
 
virtual void load (SPxSolverBase< R > *p_solver)
 loads LP.
 
virtual void clear ()
 unloads LP.
 
virtual SPxSolverBase< R > * solver () const
 returns loaded SPxSolverBase object.
 
virtual void setPricingTolerance (R tol)
 sets pricing tolerance.
 
virtual R pricingTolerance () const
 returns the pricing tolerance
 
virtual void setTolerances (std::shared_ptr< Tolerances > newTolerances)
 set the _tolerances member variable
 
virtual void setType (typename SPxSolverBase< R >::Type)
 sets pricing type.
 
virtual void setRep (typename SPxSolverBase< R >::Representation)
 sets basis representation.
 
virtual void left4 (int, SPxId)
 performs leaving pivot.
 
virtual void entered4 (SPxId, int)
 performs entering pivot.
 
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

int selectLeaveSparse ()
 
SPxId selectEnterX ()
 
SPxId selectEnterSparseDim (R &best, SPxId &id)
 
SPxId selectEnterSparseCoDim (R &best, SPxId &id)
 
SPxId selectEnterDenseDim (R &best, SPxId &id)
 
SPxId selectEnterDenseCoDim (R &best, SPxId &id)
 

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::SPxDantzigPR< R >

Dantzig pricer.

Class SPxDantzigPR is an implementation class of an SPxPricer implementing Dantzig's default pricing strategy, i.e., maximal/minimal reduced cost or maximally violated constraint.

See SPxPricer for a class documentation.

Definition at line 48 of file spxdantzigpr.h.

Constructor & Destructor Documentation

◆ SPxDantzigPR() [1/2]

template<class R >
SPxDantzigPR ( )

default constructor

Definition at line 69 of file spxdantzigpr.h.

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

◆ SPxDantzigPR() [2/2]

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

copy constructor

Definition at line 73 of file spxdantzigpr.h.

◆ ~SPxDantzigPR()

template<class R >
virtual ~SPxDantzigPR ( )
virtual

destructor

Definition at line 87 of file spxdantzigpr.h.

Member Function Documentation

◆ clone()

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

clone function for polymorphism

Implements SPxPricer< R >.

Definition at line 90 of file spxdantzigpr.h.

References SPxDantzigPR< R >::SPxDantzigPR().

◆ operator=()

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

assignment operator

Definition at line 77 of file spxdantzigpr.h.

References SPxPricer< R >::operator=().

◆ selectEnter()

template<class R >
virtual SPxId selectEnter ( )
virtual

Implements SPxPricer< R >.

◆ selectEnterDenseCoDim()

template<class R >
SPxId selectEnterDenseCoDim ( R & best,
SPxId & id )
private

selectEnter() in dense case

◆ selectEnterDenseDim()

template<class R >
SPxId selectEnterDenseDim ( R & best,
SPxId & id )
private

selectEnter() in dense case (slack variables)

◆ selectEnterSparseCoDim()

template<class R >
SPxId selectEnterSparseCoDim ( R & best,
SPxId & id )
private

sparse pricing method for entering Simplex

◆ selectEnterSparseDim()

template<class R >
SPxId selectEnterSparseDim ( R & best,
SPxId & id )
private

sparse pricing method for entering Simplex (slack variables)

◆ selectEnterX()

template<class R >
SPxId selectEnterX ( )
private

choose the best entering index among columns and rows but prefer sparsity

◆ selectLeave()

template<class R >
virtual int selectLeave ( )
virtual

Implements SPxPricer< R >.

◆ selectLeaveSparse()

template<class R >
int selectLeaveSparse ( )
private

sparse pricing method for leaving Simplex