SoPlex Doxygen Documentation

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. More...

#include <spxdantzigpr.h>

Inheritance diagram for SPxDantzigPR:

Public Member Functions

Constructors / destructors
 SPxDantzigPR ()
 default constructor
 
 SPxDantzigPR (const SPxDantzigPR &old)
 copy constructor
 
SPxDantzigPR & operator= (const SPxDantzigPR &rhs)
 assignment operator
 
virtual ~SPxDantzigPR ()
 destructor
 
virtual SPxPricer * clone () const
 clone function for polymorphism
 
Select enter/leave
virtual int selectLeave ()
 
virtual SPxId selectEnter ()
 
- Public Member Functions inherited from SPxPricer
virtual const char * getName () const
 get name of pricer.
 
virtual void load (SPxSolver *p_solver)
 loads LP.
 
virtual void clear ()
 unloads LP.
 
virtual SPxSolver * solver () const
 returns loaded SPxSolver object.
 
virtual Real epsilon () const
 returns violation bound theeps.
 
virtual void setEpsilon (Real eps)
 sets violation bound.
 
virtual void setType (SPxSolver::Type)
 sets pricing type.
 
virtual void setRep (SPxSolver::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
 
SPxPricer & operator= (const SPxPricer &rhs)
 assignment operator
 
virtual ~SPxPricer ()
 destructor.
 

Private Member Functions

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

Private Attributes

int start
 

Additional Inherited Members

- Protected Attributes inherited from SPxPricer
const char * m_name
 name of the pricer
 
SPxSolver * thesolver
 the solver
 
Real theeps
 violation bound
 

Detailed Description

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 38 of file spxdantzigpr.h.

Constructor & Destructor Documentation

default constructor

Definition at line 58 of file spxdantzigpr.h.

Referenced by SPxDantzigPR::clone().

SPxDantzigPR ( const SPxDantzigPR &  old)

copy constructor

Definition at line 63 of file spxdantzigpr.h.

virtual ~SPxDantzigPR ( )
virtual

destructor

Definition at line 79 of file spxdantzigpr.h.

Member Function Documentation

virtual SPxPricer* clone ( ) const
virtual

clone function for polymorphism

Implements SPxPricer.

Definition at line 82 of file spxdantzigpr.h.

References SPxDantzigPR::SPxDantzigPR().

SPxDantzigPR& operator= ( const SPxDantzigPR &  rhs)

assignment operator

Definition at line 68 of file spxdantzigpr.h.

References SPxPricer::operator=(), and SPxDantzigPR::start.

SPxId selectEnter ( )
virtual

Implements SPxPricer.

Definition at line 139 of file spxdantzigpr.cpp.

References SPxDantzigPR::selectEnterX(), and SPxPricer::thesolver.

SPxId selectEnterDenseCoDim ( Real &  best,
SPxId &  id 
)
private
SPxId selectEnterDenseDim ( Real &  best,
SPxId &  id 
)
private

selectEnter() in dense case (slack variables)

Definition at line 237 of file spxdantzigpr.cpp.

References SPxSolver::coId(), SPxSolver::coTest(), SPxSolver::dim(), SPxPricer::theeps, and SPxPricer::thesolver.

Referenced by SPxDantzigPR::selectEnterX().

SPxId selectEnterSparseCoDim ( Real &  best,
SPxId &  id 
)
private
SPxId selectEnterSparseDim ( Real &  best,
SPxId &  id 
)
private
int selectLeavePart ( )
private
partial pricing method, define

PARTIAL_PRICING to use

Definition at line 60 of file spxdantzigpr.cpp.

References SPxSolver::dim(), SPxSolver::fTest(), MAX_PRICING_CANDIDATES, SPxDantzigPR::start, SPxPricer::theeps, and SPxPricer::thesolver.

Referenced by SPxDantzigPR::selectLeave().

int selectLeaveSparse ( )
private

Member Data Documentation

int start
private

index where the search starts

Definition at line 41 of file spxdantzigpr.h.

Referenced by SPxDantzigPR::operator=(), and SPxDantzigPR::selectLeavePart().