Solution vector based start basis. More...
#include <spxvectorst.h>
Public Member Functions | |
Construction / destruction | |
SPxVectorST () | |
default constructor. More... | |
SPxVectorST (const SPxVectorST &old) | |
copy constructor More... | |
SPxVectorST & | operator= (const SPxVectorST &rhs) |
assignment operator More... | |
virtual | ~SPxVectorST () |
destructor. More... | |
virtual SPxStarter< R > * | clone () const |
clone function for polymorphism More... | |
Modification | |
void | primal (const VectorBase< R > &v) |
sets up primal solution vector. More... | |
void | dual (const VectorBase< R > &v) |
sets up primal solution vector. More... | |
Public Member Functions inherited from SPxWeightST< R > | |
SPxWeightST () | |
default constructor. More... | |
SPxWeightST (const SPxWeightST &old) | |
copy constructor More... | |
SPxWeightST & | operator= (const SPxWeightST &rhs) |
assignment operator More... | |
virtual | ~SPxWeightST () |
destructor. More... | |
void | generate (SPxSolverBase< R > &base) |
generates start basis for loaded basis. More... | |
virtual bool | isConsistent () const |
consistency check. More... | |
Public Member Functions inherited from SPxStarter< R > | |
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... | |
virtual const char * | getName () const |
get name of starter. More... | |
SPxStarter (const char *name) | |
constructor More... | |
SPxStarter (const SPxStarter &old) | |
copy constructor More... | |
SPxStarter & | operator= (const SPxStarter &rhs) |
assignment operator More... | |
virtual | ~SPxStarter () |
destructor. More... | |
Protected Member Functions | |
Protected helpers | |
void | setupWeights (SPxSolverBase< R > &base) |
sets up variable weights. More... | |
Protected helpers |
Private Attributes | |
Data | |
VectorBase< R > | vec |
the current (approximate) primal or dual vector More... | |
Types | |
enum soplex::SPxVectorST:: { ... } | state |
specifies whether to work on the primal, the dual, or not at all. More... | |
Additional Inherited Members | |
Protected Attributes inherited from SPxWeightST< R > | |
Array< R > | rowWeight |
weight value for LP rows. More... | |
Array< R > | colWeight |
weight value for LP columns. More... | |
DataArray< bool > | rowRight |
set variable to rhs?. More... | |
DataArray< bool > | colUp |
set primal variable to upper bound. More... | |
Protected Attributes inherited from SPxStarter< R > | |
const char * | m_name |
name of the starter More... | |
std::shared_ptr< Tolerances > | _tolerances |
tolerances for the starter More... | |
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.
Referenced by SPxVectorST< R >::clone().
SPxVectorST | ( | const SPxVectorST< R > & | old | ) |
copy constructor
Definition at line 93 of file spxvectorst.h.
References SPxWeightST< R >::isConsistent().
|
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< R >::SPxVectorST().
void dual | ( | const VectorBase< R > & | v | ) |
sets up primal solution vector.
Definition at line 134 of file spxvectorst.h.
References SPxVectorST< R >::DVEC, SPxVectorST< R >::state, and SPxVectorST< R >::vec.
SPxVectorST & operator= | ( | const SPxVectorST< R > & | rhs | ) |
assignment operator
Definition at line 101 of file spxvectorst.h.
References SPxWeightST< R >::isConsistent(), SPxWeightST< R >::operator=(), SPxVectorST< R >::state, and SPxVectorST< R >::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.
References SPxVectorST< R >::PVEC, SPxVectorST< R >::state, and SPxVectorST< R >::vec.
|
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 SPxVectorST< R >::dual(), SPxVectorST< R >::operator=(), and SPxVectorST< R >::primal().
|
private |
the current (approximate) primal or dual vector
Definition at line 69 of file spxvectorst.h.
Referenced by SPxVectorST< R >::dual(), SPxVectorST< R >::operator=(), and SPxVectorST< R >::primal().