SoPlex Documentation
Loading...
Searching...
No Matches
SPxStarter< R > Class Template Referenceabstract

SoPlex start basis generation base class. More...

#include <spxstarter.h>

Inheritance diagram for SPxStarter< R >:
SPxWeightST< R > SPxVectorST< R > SPxSumST< R >

Public Member Functions

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

Private Member Functions

Blocked
 SPxStarter ()
 we have no default constructor.
 

Data

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

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

Constructor & Destructor Documentation

◆ SPxStarter() [1/3]

template<class R >
SPxStarter ( const char * name)
explicit

constructor

Definition at line 70 of file spxstarter.h.

◆ SPxStarter() [2/3]

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

copy constructor

Definition at line 74 of file spxstarter.h.

◆ ~SPxStarter()

template<class R >
virtual ~SPxStarter ( )
virtual

destructor.

Definition at line 88 of file spxstarter.h.

References SPxStarter< R >::m_name.

◆ SPxStarter() [3/3]

template<class R >
SPxStarter ( )
private

we have no default constructor.

Member Function Documentation

◆ clone()

template<class R >
virtual SPxStarter * clone ( ) const
pure virtual

clone function for polymorphism

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

◆ generate()

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

generates start basis for loaded basis.

Implemented in SPxWeightST< R >.

◆ getName()

template<class R >
virtual const char * getName ( ) const
virtual

get name of starter.

Definition at line 100 of file spxstarter.h.

References SPxStarter< R >::m_name.

◆ isConsistent()

template<class R >
virtual bool isConsistent ( ) const
virtual

checks consistency.

Reimplemented in SPxWeightST< R >.

◆ operator=()

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

assignment operator

Definition at line 78 of file spxstarter.h.

References SPxStarter< R >::m_name.

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

◆ setTolerances()

template<class R >
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.

References SPxStarter< R >::_tolerances, and SPxStarter< R >::tolerances().

◆ tolerances()

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

get the toelrances used by the starter

Definition at line 119 of file spxstarter.h.

References SPxStarter< R >::_tolerances.

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

Member Data Documentation

◆ _tolerances

template<class R >
std::shared_ptr<Tolerances> _tolerances
protected

tolerances for the starter

Definition at line 61 of file spxstarter.h.

Referenced by SPxStarter< R >::setTolerances(), and SPxStarter< R >::tolerances().

◆ m_name

template<class R >
const char* m_name
protected