Base class for postsolving operations.Class PostStep is an abstract base class providing the interface for operations in the postsolving process. More...
Public Member Functions | |
PostStep (const char *p_name, int nR=0, int nC=0) | |
constructor. More... | |
PostStep (const PostStep &old) | |
copy constructor. More... | |
PostStep & | operator= (const PostStep &) |
assignment operator More... | |
virtual | ~PostStep () |
destructor. More... | |
virtual const char * | getName () const |
get name of simplifying step. More... | |
virtual PostStep * | clone () const =0 |
clone function for polymorphism More... | |
virtual void | execute (DVector &x, DVector &y, DVector &s, DVector &r, DataArray< SPxSolver::VarStatus > &cBasis, DataArray< SPxSolver::VarStatus > &rBasis, bool isOptimal) const =0 |
executes the postsolving. More... | |
virtual bool | checkBasisDim (DataArray< SPxSolver::VarStatus > rows, DataArray< SPxSolver::VarStatus > cols) const |
Static Public Member Functions | |
static Real | eps () |
Private Attributes | |
const char * | m_name |
name of the simplifier More... | |
int | nCols |
number of cols More... | |
int | nRows |
number of rows More... | |
Base class for postsolving operations.
Class PostStep is an abstract base class providing the interface for operations in the postsolving process.
Definition at line 73 of file spxmainsm.h.
PostStep | ( | const char * | p_name, |
int | nR = 0 , |
||
int | nC = 0 |
||
) |
constructor.
Definition at line 85 of file spxmainsm.h.
copy constructor.
Definition at line 91 of file spxmainsm.h.
|
virtual |
destructor.
Definition at line 102 of file spxmainsm.h.
|
virtual |
Definition at line 67 of file spxmainsm.cpp.
References SPxSolver::BASIC, SPxMainSM::PostStep::nCols, and SPxMainSM::PostStep::nRows.
Referenced by SPxMainSM::RowObjPS::execute(), SPxMainSM::FreeConstraintPS::execute(), SPxMainSM::EmptyConstraintPS::execute(), SPxMainSM::RowSingletonPS::execute(), SPxMainSM::ForceConstraintPS::execute(), SPxMainSM::FixVariablePS::execute(), SPxMainSM::FreeZeroObjVariablePS::execute(), SPxMainSM::ZeroObjColSingletonPS::execute(), SPxMainSM::FreeColSingletonPS::execute(), SPxMainSM::DoubletonEquationPS::execute(), SPxMainSM::DuplicateRowsPS::execute(), SPxMainSM::DuplicateColsPS::execute(), SPxMainSM::AggregationPS::execute(), SPxMainSM::MultiAggregationPS::execute(), SPxMainSM::TightenBoundsPS::execute(), and SPxMainSM::PostStep::getName().
|
pure virtual |
clone function for polymorphism
Implemented in SPxMainSM::TightenBoundsPS, SPxMainSM::MultiAggregationPS, SPxMainSM::AggregationPS, SPxMainSM::DuplicateColsPS, SPxMainSM::DuplicateRowsPS, SPxMainSM::DoubletonEquationPS, SPxMainSM::FreeColSingletonPS, SPxMainSM::ZeroObjColSingletonPS, SPxMainSM::FreeZeroObjVariablePS, SPxMainSM::FixBoundsPS, SPxMainSM::FixVariablePS, SPxMainSM::ForceConstraintPS, SPxMainSM::RowSingletonPS, SPxMainSM::EmptyConstraintPS, SPxMainSM::FreeConstraintPS, and SPxMainSM::RowObjPS.
Referenced by SPxMainSM::PostStep::getName().
|
static |
Definition at line 127 of file spxmainsm.h.
Referenced by SPxMainSM::RowSingletonPS::execute(), SPxMainSM::ForceConstraintPS::execute(), SPxMainSM::ZeroObjColSingletonPS::execute(), SPxMainSM::AggregationPS::execute(), SPxMainSM::MultiAggregationPS::execute(), SPxMainSM::TightenBoundsPS::execute(), SPxMainSM::FixBoundsPS::FixBoundsPS(), and SPxMainSM::simplify().
|
pure virtual |
executes the postsolving.
Implemented in SPxMainSM::TightenBoundsPS, SPxMainSM::MultiAggregationPS, SPxMainSM::AggregationPS, SPxMainSM::DuplicateColsPS, SPxMainSM::DuplicateRowsPS, SPxMainSM::DoubletonEquationPS, SPxMainSM::FreeColSingletonPS, SPxMainSM::ZeroObjColSingletonPS, SPxMainSM::FreeZeroObjVariablePS, SPxMainSM::FixBoundsPS, SPxMainSM::FixVariablePS, SPxMainSM::ForceConstraintPS, SPxMainSM::RowSingletonPS, SPxMainSM::EmptyConstraintPS, SPxMainSM::FreeConstraintPS, and SPxMainSM::RowObjPS.
Referenced by SPxMainSM::RowSingletonPS::clone(), SPxMainSM::ForceConstraintPS::clone(), SPxMainSM::FixVariablePS::clone(), SPxMainSM::FixBoundsPS::clone(), SPxMainSM::FreeZeroObjVariablePS::clone(), SPxMainSM::ZeroObjColSingletonPS::clone(), SPxMainSM::FreeColSingletonPS::clone(), SPxMainSM::DoubletonEquationPS::clone(), SPxMainSM::DuplicateRowsPS::clone(), SPxMainSM::DuplicateColsPS::clone(), SPxMainSM::AggregationPS::clone(), SPxMainSM::MultiAggregationPS::clone(), SPxMainSM::TightenBoundsPS::clone(), SPxMainSM::PostStep::getName(), SPxMainSM::RowObjPS::operator=(), SPxMainSM::FreeConstraintPS::operator=(), and SPxMainSM::EmptyConstraintPS::operator=().
|
virtual |
get name of simplifying step.
Definition at line 107 of file spxmainsm.h.
References SPxMainSM::PostStep::checkBasisDim(), SPxMainSM::PostStep::clone(), SPxMainSM::PostStep::execute(), and SPxMainSM::PostStep::m_name.
Referenced by SPxMainSM::unsimplify().
assignment operator
Definition at line 97 of file spxmainsm.h.
Referenced by SPxMainSM::RowSingletonPS::operator=(), SPxMainSM::ForceConstraintPS::operator=(), SPxMainSM::FixVariablePS::operator=(), SPxMainSM::FixBoundsPS::operator=(), SPxMainSM::FreeZeroObjVariablePS::operator=(), SPxMainSM::ZeroObjColSingletonPS::operator=(), SPxMainSM::FreeColSingletonPS::operator=(), SPxMainSM::DoubletonEquationPS::operator=(), SPxMainSM::DuplicateRowsPS::operator=(), SPxMainSM::DuplicateColsPS::operator=(), SPxMainSM::AggregationPS::operator=(), and SPxMainSM::MultiAggregationPS::operator=().
|
private |
name of the simplifier
Definition at line 77 of file spxmainsm.h.
Referenced by SPxMainSM::PostStep::getName().
|
private |
number of cols
Definition at line 79 of file spxmainsm.h.
Referenced by SPxMainSM::PostStep::checkBasisDim().
|
private |
number of rows
Definition at line 81 of file spxmainsm.h.
Referenced by SPxMainSM::PostStep::checkBasisDim().