Scippy

SoPlex

Sequential object-oriented simPlex

SPxStarter Class 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 <spxstarter.h>

Public Member Functions

Access
virtual const char * getName () const
 get name of starter. More...
 
Starting
virtual void generate (SPxSolver &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...
 
 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

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

Constructor & Destructor Documentation

◆ SPxStarter() [1/3]

SPxStarter ( const char *  name)
explicit

constructor

Definition at line 58 of file spxstarter.h.

◆ SPxStarter() [2/3]

SPxStarter ( const SPxStarter old)

copy constructor

Definition at line 62 of file spxstarter.h.

◆ ~SPxStarter()

virtual ~SPxStarter ( )
virtual

destructor.

Definition at line 76 of file spxstarter.h.

References SPxStarter::clone().

◆ SPxStarter() [3/3]

SPxStarter ( )
private

we have no default constructor.

Referenced by SPxStarter::getName().

Member Function Documentation

◆ clone()

virtual SPxStarter* clone ( ) const
pure virtual

clone function for polymorphism

Implemented in SPxWeightST, SPxVectorST, and SPxSumST.

Referenced by SPxSolver::operator=(), SPxSolver::SPxSolver(), and SPxStarter::~SPxStarter().

◆ generate()

virtual void generate ( SPxSolver base)
pure virtual

generates start basis for loaded basis.

Implemented in SPxWeightST.

Referenced by SPxStarter::getName(), and SPxSolver::solve().

◆ getName()

virtual const char* getName ( ) const
virtual

get name of starter.

Definition at line 88 of file spxstarter.h.

References SPxStarter::generate(), SPxStarter::isConsistent(), SPxStarter::m_name, and SPxStarter::SPxStarter().

Referenced by SoPlex::getStarterName(), and main().

◆ isConsistent()

bool isConsistent ( ) const
virtual

checks consistency.

Reimplemented in SPxWeightST.

Definition at line 25 of file spxstarter.cpp.

References MSG_ERROR.

Referenced by SPxStarter::getName().

◆ operator=()

SPxStarter& operator= ( const SPxStarter rhs)

assignment operator

Definition at line 66 of file spxstarter.h.

References SPxStarter::m_name.

Referenced by SPxWeightST::operator=().

Member Data Documentation

◆ m_name

const char* m_name
protected

name of the starter

Definition at line 49 of file spxstarter.h.

Referenced by SPxStarter::getName(), SPxStarter::operator=(), SPxSumST::SPxSumST(), and SPxVectorST::SPxVectorST().