Scippy

SoPlex

Sequential object-oriented simPlex

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 More...
 
 SPxDantzigPR (const SPxDantzigPR &old)
 copy constructor More...
 
SPxDantzigPRoperator= (const SPxDantzigPR &rhs)
 assignment operator More...
 
virtual ~SPxDantzigPR ()
 destructor More...
 
virtual SPxPricerclone () const
 clone function for polymorphism More...
 
Select enter/leave
virtual int selectLeave ()
 
virtual SPxId selectEnter ()
 
- Public Member Functions inherited from SPxPricer
virtual const char * getName () const
 get name of pricer. More...
 
virtual void load (SPxSolver *p_solver)
 loads LP. More...
 
virtual void clear ()
 unloads LP. More...
 
virtual SPxSolversolver () const
 returns loaded SPxSolver object. More...
 
virtual Real epsilon () const
 returns violation bound theeps. More...
 
virtual void setEpsilon (Real eps)
 sets violation bound. More...
 
virtual void setType (SPxSolver::Type)
 sets pricing type. More...
 
virtual void setRep (SPxSolver::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 void getNdualNorms (int &nrows, int &ncols) const
 get number of available norms More...
 
virtual bool getDualNorms (int &nrows, int &ncols, Real *norms) const
 export norms from pricer More...
 
virtual bool setDualNorms (int nrows, int ncols, Real *norms)
 import norms into pricer 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 Member Functions

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)
 

Additional Inherited Members

- Public Types inherited from SPxPricer
enum  ViolationType { NOT_VIOLATED = 0, VIOLATED = 1, VIOLATED_AND_CHECKED = 2 }
 
- Protected Attributes inherited from SPxPricer
IdxCompare compare
 
const char * m_name
 name of the pricer More...
 
SPxSolverthesolver
 the solver More...
 
Real theeps
 violation bound More...
 
DVector weights
 vector to store pricing weights or norms More...
 
DVector coWeights
 
bool weightsAreSetup
 are the weights already set up? More...
 

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

Referenced by SPxDantzigPR::clone().

SPxDantzigPR ( const SPxDantzigPR old)

copy constructor

Definition at line 58 of file spxdantzigpr.h.

virtual ~SPxDantzigPR ( )
virtual

destructor

Definition at line 72 of file spxdantzigpr.h.

Member Function Documentation

virtual SPxPricer* clone ( ) const
virtual

clone function for polymorphism

Implements SPxPricer.

Definition at line 75 of file spxdantzigpr.h.

References SPxDantzigPR::selectEnter(), SPxDantzigPR::selectLeave(), and SPxDantzigPR::SPxDantzigPR().

SPxDantzigPR& operator= ( const SPxDantzigPR rhs)

assignment operator

Definition at line 62 of file spxdantzigpr.h.

References SPxPricer::operator=().

SPxId selectEnter ( )
virtual

Implements SPxPricer.

Definition at line 89 of file spxdantzigpr.cpp.

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

Referenced by SPxDantzigPR::clone().

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

selectEnter() in dense case (slack variables)

Definition at line 186 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 selectLeaveSparse ( )
private