Scippy

SoPlex

Sequential object-oriented simPlex

SPxMainSM< R >::DuplicateRowsPS Class Reference

Postsolves duplicate rows. More...

Public Member Functions

 DuplicateRowsPS (const SPxLPBase< R > &lp, int _i, int maxLhsIdx, int minRhsIdx, const DSVectorBase< R > &dupRows, const Array< R > scale, const DataArray< int > perm, const DataArray< bool > isLhsEqualRhs, bool isTheLast, bool isFixedRow, std::shared_ptr< Tolerances > tols, bool isFirst=false)
 
 DuplicateRowsPS (const DuplicateRowsPS &old)
 copy constructor More...
 
DuplicateRowsPSoperator= (const DuplicateRowsPS &rhs)
 assignment operator More...
 
virtual PostStepclone () const
 clone function for polymorphism More...
 
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
 
- Public Member Functions inherited from SPxMainSM< R >::PostStep
 PostStep (const char *p_name, std::shared_ptr< Tolerances > tols, int nR=0, int nC=0)
 constructor. More...
 
 PostStep (const PostStep &old)
 copy constructor. More...
 
PostStepoperator= (const PostStep &)
 assignment operator More...
 
virtual ~PostStep ()
 destructor. More...
 
virtual const char * getName () const
 get name of simplifying step. More...
 
virtual PostStepclone () const =0
 clone function for polymorphism More...
 
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. More...
 
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 int m_i
 
const R m_i_rowObj
 
const int m_maxLhsIdx
 
const int m_minRhsIdx
 
const bool m_maxSense
 
const bool m_isFirst
 
const bool m_isLast
 
const bool m_fixed
 
const int m_nCols
 
DSVectorBase< R > m_scale
 
DSVectorBase< R > m_rowObj
 
DataArray< int > m_rIdxLocalOld
 
DataArray< int > m_perm
 
DataArray< bool > m_isLhsEqualRhs
 

Detailed Description

template<class R>
class soplex::SPxMainSM< R >::DuplicateRowsPS

Postsolves duplicate rows.

Definition at line 923 of file spxmainsm.h.

Constructor & Destructor Documentation

◆ DuplicateRowsPS() [1/2]

DuplicateRowsPS ( const SPxLPBase< R > &  lp,
int  _i,
int  maxLhsIdx,
int  minRhsIdx,
const DSVectorBase< R > &  dupRows,
const Array< R >  scale,
const DataArray< int >  perm,
const DataArray< bool >  isLhsEqualRhs,
bool  isTheLast,
bool  isFixedRow,
std::shared_ptr< Tolerances tols,
bool  isFirst = false 
)

◆ DuplicateRowsPS() [2/2]

DuplicateRowsPS ( const DuplicateRowsPS old)

copy constructor

Definition at line 972 of file spxmainsm.h.

Member Function Documentation

◆ clone()

virtual PostStep * clone ( ) const
virtual

clone function for polymorphism

Implements SPxMainSM< R >::PostStep.

Definition at line 1005 of file spxmainsm.h.

References SPxMainSM< R >::DuplicateRowsPS::DuplicateRowsPS(), and soplex::spx_alloc().

◆ execute()

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
virtual

◆ operator=()

Member Data Documentation

◆ m_fixed

const bool m_fixed
private

Definition at line 933 of file spxmainsm.h.

◆ m_i

const int m_i
private

Definition at line 926 of file spxmainsm.h.

◆ m_i_rowObj

const R m_i_rowObj
private

Definition at line 927 of file spxmainsm.h.

◆ m_isFirst

const bool m_isFirst
private

Definition at line 931 of file spxmainsm.h.

◆ m_isLast

const bool m_isLast
private

Definition at line 932 of file spxmainsm.h.

◆ m_isLhsEqualRhs

DataArray<bool> m_isLhsEqualRhs
private

Definition at line 939 of file spxmainsm.h.

Referenced by SPxMainSM< R >::DuplicateRowsPS::operator=().

◆ m_maxLhsIdx

const int m_maxLhsIdx
private

Definition at line 928 of file spxmainsm.h.

◆ m_maxSense

const bool m_maxSense
private

Definition at line 930 of file spxmainsm.h.

◆ m_minRhsIdx

const int m_minRhsIdx
private

Definition at line 929 of file spxmainsm.h.

◆ m_nCols

const int m_nCols
private

Definition at line 934 of file spxmainsm.h.

◆ m_perm

DataArray<int> m_perm
private

Definition at line 938 of file spxmainsm.h.

Referenced by SPxMainSM< R >::DuplicateRowsPS::operator=().

◆ m_rIdxLocalOld

DataArray<int> m_rIdxLocalOld
private

◆ m_rowObj

◆ m_scale