SoPlex
|
Solution vector based start basis. More...
#include <spxvectorst.h>
Public Member Functions | |
Construction / destruction | |
SPxVectorST () | |
default constructor. | |
SPxVectorST (const SPxVectorST &old) | |
copy constructor | |
SPxVectorST & | operator= (const SPxVectorST &rhs) |
assignment operator | |
virtual | ~SPxVectorST () |
destructor. | |
virtual SPxStarter< R > * | clone () const |
clone function for polymorphism | |
Modification | |
void | primal (const VectorBase< R > &v) |
sets up primal solution vector. | |
void | dual (const VectorBase< R > &v) |
sets up primal solution vector. | |
![]() | |
SPxWeightST () | |
default constructor. | |
SPxWeightST (const SPxWeightST &old) | |
copy constructor | |
SPxWeightST & | operator= (const SPxWeightST &rhs) |
assignment operator | |
virtual | ~SPxWeightST () |
destructor. | |
void | generate (SPxSolverBase< R > &base) |
generates start basis for loaded basis. | |
virtual bool | isConsistent () const |
consistency check. | |
![]() | |
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 | |
virtual const char * | getName () const |
get name of starter. | |
SPxStarter (const char *name) | |
constructor | |
SPxStarter (const SPxStarter &old) | |
copy constructor | |
SPxStarter & | operator= (const SPxStarter &rhs) |
assignment operator | |
virtual | ~SPxStarter () |
destructor. | |
Protected Member Functions | |
Protected helpers | |
void | setupWeights (SPxSolverBase< R > &base) |
sets up variable weights. | |
![]() |
Private Attributes | |
Data | |
VectorBase< R > | vec |
the current (approximate) primal or dual vector | |
Types | |
enum soplex::SPxVectorST:: { ... } | state |
specifies whether to work on the primal, the dual, or not at all. | |
Additional Inherited Members | |
![]() | |
Array< R > | rowWeight |
weight value for LP rows. | |
Array< R > | colWeight |
weight value for LP columns. | |
DataArray< bool > | rowRight |
set variable to rhs?. | |
DataArray< bool > | colUp |
set primal variable to upper bound. | |
const char * | m_name |
name of the starter | |
std::shared_ptr< Tolerances > | _tolerances |
tolerances for the starter | |
Solution vector based start basis.
This version of SPxWeightST can be used to construct a starting basis for an LP to be solved with SoPlex if an approximate solution vector or dual vector (possibly optained by a heuristic) is available. This is done by setting up weights for the SPxWeightST it is derived from.
The primal vector to be used is loaded by calling method primal() while dual() setups for the dual vector. Methods primal() or dual() must be called before generate() is called by SoPlex to set up a starting basis. If more than one call of method primal() or dual() occurred only the most recent one is valid for generating the starting base.
Definition at line 54 of file spxvectorst.h.
|
private |
specifies whether to work on the primal, the dual, or not at all.
Enumerator | |
---|---|
NONE | |
PVEC | |
DVEC |
Definition at line 62 of file spxvectorst.h.
SPxVectorST | ( | ) |
default constructor.
Definition at line 87 of file spxvectorst.h.
References SPxStarter< R >::m_name, NONE, and state.
Referenced by clone(), operator=(), SPxSumST< R >::SPxSumST(), and SPxVectorST().
SPxVectorST | ( | const SPxVectorST< R > & | old | ) |
copy constructor
Definition at line 93 of file spxvectorst.h.
References SPxWeightST< R >::isConsistent(), SPxVectorST(), SPxWeightST< R >::SPxWeightST(), state, and vec.
|
virtual |
destructor.
Definition at line 115 of file spxvectorst.h.
|
virtual |
clone function for polymorphism
Reimplemented from SPxWeightST< R >.
Reimplemented in SPxSumST< R >.
Definition at line 118 of file spxvectorst.h.
References SPxVectorST().
void dual | ( | const VectorBase< R > & | v | ) |
sets up primal solution vector.
Definition at line 134 of file spxvectorst.h.
SPxVectorST & operator= | ( | const SPxVectorST< R > & | rhs | ) |
assignment operator
Definition at line 101 of file spxvectorst.h.
References SPxWeightST< R >::isConsistent(), SPxWeightST< R >::operator=(), SPxVectorST(), state, and vec.
Referenced by SPxSumST< R >::operator=().
void primal | ( | const VectorBase< R > & | v | ) |
sets up primal solution vector.
Definition at line 128 of file spxvectorst.h.
|
protectedvirtual |
sets up variable weights.
Reimplemented from SPxWeightST< R >.
enum { ... } state |
specifies whether to work on the primal, the dual, or not at all.
Referenced by dual(), operator=(), primal(), SPxVectorST(), and SPxVectorST().
|
private |
the current (approximate) primal or dual vector
Definition at line 69 of file spxvectorst.h.
Referenced by dual(), operator=(), primal(), and SPxVectorST().