Scippy

SoPlex

Sequential object-oriented simPlex

SPxStarter< R > Class Template Referenceabstract

SoPlex start basis generation base class.SPxStarter is the virtual base class for classes generating a starter basis for the Simplex solver SoPlex. When a SPxStarter object has been loaded to a SoPlex solver, the latter will call method generate() in order to have a start basis generated. Implementations of method generate() must terminate by loading the generated basis to SoPlex. Loaded bases must be nonsingular. More...

#include <spxsolver.h>

Public Member Functions

virtual void setTolerances (const std::shared_ptr< Tolerances > &tolerances)
 set the tolerances to be used by the starter More...
 
virtual const std::shared_ptr< Tolerances > & tolerances () const
 get the toelrances used by the starter More...
 
Access
virtual const char * getName () const
 get name of starter. More...
 
Starting
virtual void generate (SPxSolverBase< R > &base)=0
 generates start basis for loaded basis. More...
 
Misc
virtual bool isConsistent () const
 checks consistency. More...
 

Private Member Functions

Blocked
 SPxStarter ()
 we have no default constructor. More...
 

Data

const char * m_name
 name of the starter More...
 
std::shared_ptr< Tolerances_tolerances
 tolerances for the starter More...
 
 SPxStarter (const char *name)
 constructor More...
 
 SPxStarter (const SPxStarter &old)
 copy constructor More...
 
SPxStarteroperator= (const SPxStarter &rhs)
 assignment operator More...
 
virtual ~SPxStarter ()
 destructor. More...
 
virtual SPxStarterclone () const =0
 clone function for polymorphism More...
 

Detailed Description

template<class R>
class soplex::SPxStarter< R >

SoPlex start basis generation base class.

SPxStarter is the virtual base class for classes generating a starter basis for the Simplex solver SoPlex. When a SPxStarter object has been loaded to a SoPlex solver, the latter will call method generate() in order to have a start basis generated. Implementations of method generate() must terminate by loading the generated basis to SoPlex. Loaded bases must be nonsingular.

Definition at line 68 of file spxsolver.h.

Constructor & Destructor Documentation

◆ SPxStarter() [1/3]

SPxStarter ( const char *  name)
explicit

constructor

Definition at line 70 of file spxstarter.h.

◆ SPxStarter() [2/3]

SPxStarter ( const SPxStarter< R > &  old)

copy constructor

Definition at line 74 of file spxstarter.h.

◆ ~SPxStarter()

virtual ~SPxStarter ( )
virtual

destructor.

Definition at line 88 of file spxstarter.h.

◆ SPxStarter() [3/3]

SPxStarter ( )
private

we have no default constructor.

Referenced by SPxStarter< BP >::tolerances().

Member Function Documentation

◆ clone()

virtual SPxStarter* clone ( ) const
pure virtual

clone function for polymorphism

Implemented in SPxWeightST< R >, SPxVectorST< R >, and SPxSumST< R >.

Referenced by SPxStarter< BP >::~SPxStarter().

◆ generate()

virtual void generate ( SPxSolverBase< R > &  base)
pure virtual

generates start basis for loaded basis.

Implemented in SPxWeightST< R >.

Referenced by SPxStarter< BP >::getName().

◆ getName()

virtual const char* getName ( ) const
virtual

get name of starter.

Definition at line 100 of file spxstarter.h.

◆ isConsistent()

virtual bool isConsistent ( ) const
virtual

checks consistency.

Reimplemented in SPxWeightST< R >.

Referenced by SPxStarter< BP >::tolerances().

◆ operator=()

SPxStarter& operator= ( const SPxStarter< R > &  rhs)

assignment operator

Definition at line 78 of file spxstarter.h.

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

◆ setTolerances()

virtual void setTolerances ( const std::shared_ptr< Tolerances > &  tolerances)
virtual

set the tolerances to be used by the starter

Definition at line 114 of file spxstarter.h.

◆ tolerances()

virtual const std::shared_ptr<Tolerances>& tolerances ( ) const
virtual

get the toelrances used by the starter

Definition at line 119 of file spxstarter.h.

Referenced by SPxStarter< BP >::setTolerances().

Member Data Documentation

◆ _tolerances

std::shared_ptr<Tolerances> _tolerances
protected

tolerances for the starter

Definition at line 61 of file spxstarter.h.

Referenced by SPxStarter< BP >::tolerances().

◆ m_name

const char* m_name
protected

name of the starter

Definition at line 59 of file spxstarter.h.

Referenced by SPxStarter< BP >::getName(), SPxSumST< R >::SPxSumST(), and SPxVectorST< R >::SPxVectorST().