SoPlex
|
Base class for postsolving operations. More...
Public Member Functions | |
PostStep (const char *p_name, std::shared_ptr< Tolerances > tols, int nR=0, int nC=0) | |
constructor. | |
PostStep (const PostStep &old) | |
copy constructor. | |
PostStep & | operator= (const PostStep &) |
assignment operator | |
virtual | ~PostStep () |
destructor. | |
virtual const char * | getName () const |
get name of simplifying step. | |
virtual PostStep * | clone () const =0 |
clone function for polymorphism | |
virtual void | execute (VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const =0 |
executes the postsolving. | |
virtual bool | checkBasisDim (DataArray< typename SPxSolverBase< R >::VarStatus > rows, DataArray< typename SPxSolverBase< R >::VarStatus > cols) const |
virtual R | feastol () const |
virtual R | epsilon () const |
Private Attributes | |
const char * | m_name |
name of the simplifier | |
int | nCols |
number of cols | |
int | nRows |
number of rows | |
std::shared_ptr< Tolerances > | _tolerances |
0-epsilon of this poststep |
Base class for postsolving operations.
Class PostStep is an abstract base class providing the interface for operations in the postsolving process.
Definition at line 84 of file spxmainsm.h.
PostStep | ( | const char * | p_name, |
std::shared_ptr< Tolerances > | tols, | ||
int | nR = 0, | ||
int | nC = 0 ) |
constructor.
Definition at line 98 of file spxmainsm.h.
References _tolerances, m_name, nCols, and nRows.
Referenced by SPxMainSM< R >::AggregationPS::AggregationPS(), SPxMainSM< R >::AggregationPS::AggregationPS(), SPxMainSM< R >::AggregationPS::clone(), SPxMainSM< R >::DoubletonEquationPS::clone(), SPxMainSM< R >::DuplicateColsPS::clone(), SPxMainSM< R >::DuplicateRowsPS::clone(), SPxMainSM< R >::EmptyConstraintPS::clone(), SPxMainSM< R >::FixBoundsPS::clone(), SPxMainSM< R >::FixVariablePS::clone(), SPxMainSM< R >::ForceConstraintPS::clone(), SPxMainSM< R >::FreeColSingletonPS::clone(), SPxMainSM< R >::FreeConstraintPS::clone(), SPxMainSM< R >::FreeZeroObjVariablePS::clone(), SPxMainSM< R >::MultiAggregationPS::clone(), clone(), SPxMainSM< R >::RowObjPS::clone(), SPxMainSM< R >::RowSingletonPS::clone(), SPxMainSM< R >::TightenBoundsPS::clone(), SPxMainSM< R >::ZeroObjColSingletonPS::clone(), SPxMainSM< R >::DoubletonEquationPS::DoubletonEquationPS(), SPxMainSM< R >::DoubletonEquationPS::DoubletonEquationPS(), SPxMainSM< R >::DuplicateColsPS::DuplicateColsPS(), SPxMainSM< R >::DuplicateColsPS::DuplicateColsPS(), SPxMainSM< R >::DuplicateRowsPS::DuplicateRowsPS(), SPxMainSM< R >::DuplicateRowsPS::DuplicateRowsPS(), SPxMainSM< R >::EmptyConstraintPS::EmptyConstraintPS(), SPxMainSM< R >::EmptyConstraintPS::EmptyConstraintPS(), SPxMainSM< R >::FixBoundsPS::FixBoundsPS(), SPxMainSM< R >::FixBoundsPS::FixBoundsPS(), SPxMainSM< R >::FixVariablePS::FixVariablePS(), SPxMainSM< R >::FixVariablePS::FixVariablePS(), SPxMainSM< R >::ForceConstraintPS::ForceConstraintPS(), SPxMainSM< R >::ForceConstraintPS::ForceConstraintPS(), SPxMainSM< R >::FreeColSingletonPS::FreeColSingletonPS(), SPxMainSM< R >::FreeColSingletonPS::FreeColSingletonPS(), SPxMainSM< R >::FreeConstraintPS::FreeConstraintPS(), SPxMainSM< R >::FreeConstraintPS::FreeConstraintPS(), SPxMainSM< R >::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SPxMainSM< R >::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SPxMainSM< R >::MultiAggregationPS::MultiAggregationPS(), SPxMainSM< R >::MultiAggregationPS::MultiAggregationPS(), operator=(), PostStep(), SPxMainSM< R >::RowObjPS::RowObjPS(), SPxMainSM< R >::RowObjPS::RowObjPS(), SPxMainSM< R >::RowSingletonPS::RowSingletonPS(), SPxMainSM< R >::RowSingletonPS::RowSingletonPS(), SPxMainSM< R >::TightenBoundsPS::TightenBoundsPS(), SPxMainSM< R >::TightenBoundsPS::TightenBoundsPS(), SPxMainSM< R >::ZeroObjColSingletonPS::ZeroObjColSingletonPS(), and SPxMainSM< R >::ZeroObjColSingletonPS::ZeroObjColSingletonPS().
copy constructor.
Definition at line 106 of file spxmainsm.h.
References _tolerances, m_name, nCols, nRows, and PostStep().
|
virtual |
|
virtual |
|
pure virtual |
clone function for polymorphism
Implemented in SPxMainSM< R >::AggregationPS, SPxMainSM< R >::DoubletonEquationPS, SPxMainSM< R >::DuplicateColsPS, SPxMainSM< R >::DuplicateRowsPS, SPxMainSM< R >::EmptyConstraintPS, SPxMainSM< R >::FixBoundsPS, SPxMainSM< R >::FixVariablePS, SPxMainSM< R >::ForceConstraintPS, SPxMainSM< R >::FreeColSingletonPS, SPxMainSM< R >::FreeConstraintPS, SPxMainSM< R >::FreeZeroObjVariablePS, SPxMainSM< R >::MultiAggregationPS, SPxMainSM< R >::RowObjPS, SPxMainSM< R >::RowSingletonPS, SPxMainSM< R >::TightenBoundsPS, and SPxMainSM< R >::ZeroObjColSingletonPS.
References PostStep().
|
virtual |
Definition at line 149 of file spxmainsm.h.
References _tolerances.
Referenced by SPxMainSM< R >::DoubletonEquationPS::DoubletonEquationPS(), SPxMainSM< R >::FreeColSingletonPS::FreeColSingletonPS(), and SPxMainSM< R >::MultiAggregationPS::MultiAggregationPS().
|
pure virtual |
executes the postsolving.
Implemented in SPxMainSM< R >::AggregationPS, SPxMainSM< R >::DoubletonEquationPS, SPxMainSM< R >::DuplicateColsPS, SPxMainSM< R >::DuplicateRowsPS, SPxMainSM< R >::EmptyConstraintPS, SPxMainSM< R >::FixBoundsPS, SPxMainSM< R >::FixVariablePS, SPxMainSM< R >::ForceConstraintPS, SPxMainSM< R >::FreeColSingletonPS, SPxMainSM< R >::FreeConstraintPS, SPxMainSM< R >::FreeZeroObjVariablePS, SPxMainSM< R >::MultiAggregationPS, SPxMainSM< R >::RowObjPS, SPxMainSM< R >::RowSingletonPS, SPxMainSM< R >::TightenBoundsPS, and SPxMainSM< R >::ZeroObjColSingletonPS.
|
virtual |
Definition at line 144 of file spxmainsm.h.
References _tolerances.
|
virtual |
assignment operator
Definition at line 114 of file spxmainsm.h.
References PostStep().
Referenced by SPxMainSM< R >::AggregationPS::operator=(), SPxMainSM< R >::DoubletonEquationPS::operator=(), SPxMainSM< R >::DuplicateColsPS::operator=(), SPxMainSM< R >::DuplicateRowsPS::operator=(), SPxMainSM< R >::FixBoundsPS::operator=(), SPxMainSM< R >::FixVariablePS::operator=(), SPxMainSM< R >::ForceConstraintPS::operator=(), SPxMainSM< R >::FreeColSingletonPS::operator=(), SPxMainSM< R >::FreeZeroObjVariablePS::operator=(), SPxMainSM< R >::MultiAggregationPS::operator=(), SPxMainSM< R >::RowSingletonPS::operator=(), and SPxMainSM< R >::ZeroObjColSingletonPS::operator=().
|
private |
0-epsilon of this poststep
Definition at line 94 of file spxmainsm.h.
Referenced by epsilon(), feastol(), PostStep(), and PostStep().
|
private |
name of the simplifier
Definition at line 88 of file spxmainsm.h.
Referenced by getName(), PostStep(), PostStep(), and ~PostStep().
|
private |
number of cols
Definition at line 90 of file spxmainsm.h.
Referenced by SPxMainSM< R >::AggregationPS::AggregationPS(), SPxMainSM< R >::DoubletonEquationPS::DoubletonEquationPS(), SPxMainSM< R >::DuplicateColsPS::DuplicateColsPS(), SPxMainSM< R >::DuplicateRowsPS::DuplicateRowsPS(), SPxMainSM< R >::EmptyConstraintPS::EmptyConstraintPS(), SPxMainSM< R >::FixBoundsPS::FixBoundsPS(), SPxMainSM< R >::FixVariablePS::FixVariablePS(), SPxMainSM< R >::ForceConstraintPS::ForceConstraintPS(), SPxMainSM< R >::FreeColSingletonPS::FreeColSingletonPS(), SPxMainSM< R >::FreeConstraintPS::FreeConstraintPS(), SPxMainSM< R >::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SPxMainSM< R >::MultiAggregationPS::MultiAggregationPS(), PostStep(), PostStep(), SPxMainSM< R >::RowObjPS::RowObjPS(), SPxMainSM< R >::RowSingletonPS::RowSingletonPS(), SPxMainSM< R >::TightenBoundsPS::TightenBoundsPS(), and SPxMainSM< R >::ZeroObjColSingletonPS::ZeroObjColSingletonPS().
|
private |
number of rows
Definition at line 92 of file spxmainsm.h.
Referenced by SPxMainSM< R >::AggregationPS::AggregationPS(), SPxMainSM< R >::DoubletonEquationPS::DoubletonEquationPS(), SPxMainSM< R >::DuplicateColsPS::DuplicateColsPS(), SPxMainSM< R >::DuplicateRowsPS::DuplicateRowsPS(), SPxMainSM< R >::EmptyConstraintPS::EmptyConstraintPS(), SPxMainSM< R >::FixBoundsPS::FixBoundsPS(), SPxMainSM< R >::FixVariablePS::FixVariablePS(), SPxMainSM< R >::ForceConstraintPS::ForceConstraintPS(), SPxMainSM< R >::FreeColSingletonPS::FreeColSingletonPS(), SPxMainSM< R >::FreeConstraintPS::FreeConstraintPS(), SPxMainSM< R >::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SPxMainSM< R >::MultiAggregationPS::MultiAggregationPS(), PostStep(), PostStep(), SPxMainSM< R >::RowObjPS::RowObjPS(), SPxMainSM< R >::RowSingletonPS::RowSingletonPS(), SPxMainSM< R >::TightenBoundsPS::TightenBoundsPS(), and SPxMainSM< R >::ZeroObjColSingletonPS::ZeroObjColSingletonPS().