Scippy

SoPlex

Sequential object-oriented simPlex

Presol< R > Class Template Reference

#include <spxpapilo.h>

Public Member Functions

Constructors / destructors

default constructor.

 Presol (Timer::TYPE ttype=Timer::USER_TIME)
 
 Presol (const Presol &old)
 copy constructor. More...
 
Presoloperator= (const Presol &rhs)
 assignment operator More...
 
virtual ~Presol ()
 destructor. More...
 
SPxSimplifier< R > * clone () const
 
virtual SPxSimplifier< R >::Result simplify (SPxLPBase< R > &lp, Real remainingTime, bool keepbounds, uint32_t seed)
 
virtual void unsimplify (const VectorBase< R > &, const VectorBase< R > &, const VectorBase< R > &, const VectorBase< R > &, const typename SPxSolverBase< R >::VarStatus[], const typename SPxSolverBase< R >::VarStatus[], bool isOptimal)
 
virtual SPxSimplifier< R >::Result result () const
 returns result status of the simplification More...
 
virtual bool isUnsimplified () const
 specifies whether an optimal solution has already been unsimplified. More...
 
virtual const VectorBase< R > & unsimplifiedPrimal ()
 returns a reference to the unsimplified primal solution. More...
 
virtual const VectorBase< R > & unsimplifiedDual ()
 returns a reference to the unsimplified dual solution. More...
 
virtual const VectorBase< R > & unsimplifiedSlacks ()
 returns a reference to the unsimplified slack values. More...
 
virtual const VectorBase< R > & unsimplifiedRedCost ()
 returns a reference to the unsimplified reduced costs. More...
 
virtual SPxSolverBase< R >::VarStatus getBasisRowStatus (int i) const
 gets basis status for a single row. More...
 
virtual SPxSolverBase< R >::VarStatus getBasisColStatus (int j) const
 gets basis status for a single column. More...
 
virtual void getBasis (typename SPxSolverBase< R >::VarStatus rows[], typename SPxSolverBase< R >::VarStatus cols[], const int rowsSize, const int colsSize) const
 get optimal basis. More...
 
- Public Member Functions inherited from SPxSimplifier< R >
void setOutstream (SPxOut &newOutstream)
 
virtual void setTolerances (std::shared_ptr< Tolerances > newTolerances)
 set the _tolerances member variable More...
 
const std::shared_ptr< Tolerancestolerances () const
 get the _tolerances member variable More...
 
virtual const char * getName () const
 get name of simplifier. More...
 
virtual R timeUsed () const
 
virtual R getObjoffset () const
 get objective offset. More...
 
virtual void addObjoffset (const R val)
 add objective offset. More...
 
virtual void setMinReduction (const R minRed)
 set minimal reduction threshold to continue simplification More...
 
virtual bool isConsistent () const
 consistency check More...
 
 SPxSimplifier (const char *p_name, Timer::TYPE ttype=Timer::USER_TIME)
 constructor More...
 
 SPxSimplifier (const SPxSimplifier &old)
 copy constructor More...
 
SPxSimplifieroperator= (const SPxSimplifier &rhs)
 assignment operator More...
 
virtual ~SPxSimplifier ()
 destructor. More...
 

Additional Inherited Members

- Public Types inherited from SPxSimplifier< R >
enum  Result {
  OKAY = 0, INFEASIBLE = 1, DUAL_INFEASIBLE = 2, UNBOUNDED = 3,
  VANISHED = 4
}
 Result of the simplification. More...
 
- Protected Attributes inherited from SPxSimplifier< R >
const char * m_name
 name of the simplifier More...
 
Timerm_timeUsed
 user time used for simplification More...
 
Timer::TYPE m_timerType
 
int m_remRows
 number of removed rows More...
 
int m_remCols
 number of removed columns More...
 
int m_remNzos
 number of removed nonzero coefficients More...
 
int m_chgBnds
 number of changed bounds More...
 
int m_chgLRhs
 number of change right-hand sides More...
 
int m_keptBnds
 number of kept bounds More...
 
int m_keptLRhs
 number of kept left- and right-hand sides More...
 
m_objoffset
 objective offset More...
 
m_minReduction
 minimal reduction (sum of removed rows/cols) to continue simplification More...
 
SPxOutspxout
 message handler More...
 
std::shared_ptr< Tolerances_tolerances
 

Detailed Description

template<class R>
class soplex::Presol< R >

Definition at line 31 of file spxpapilo.h.

Constructor & Destructor Documentation

◆ Presol() [1/2]

Presol ( Timer::TYPE  ttype = Timer::USER_TIME)
explicit

Definition at line 40 of file spxpapilo.h.

Referenced by Presol< BP >::clone(), and Presol< BP >::getBasis().

◆ Presol() [2/2]

Presol ( const Presol< R > &  old)

copy constructor.

Definition at line 44 of file spxpapilo.h.

◆ ~Presol()

virtual ~Presol ( )
virtual

destructor.

Definition at line 53 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

Member Function Documentation

◆ clone()

SPxSimplifier<R>* clone ( ) const
virtual

Implements SPxSimplifier< R >.

Definition at line 58 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ getBasis()

virtual void getBasis ( typename SPxSolverBase< R >::VarStatus  rows[],
typename SPxSolverBase< R >::VarStatus  cols[],
const int  rowsSize,
const int  colsSize 
) const
virtual

get optimal basis.

Implements SPxSimplifier< R >.

Definition at line 140 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ getBasisColStatus()

virtual SPxSolverBase<R>::VarStatus getBasisColStatus ( int  j) const
virtual

gets basis status for a single column.

Implements SPxSimplifier< R >.

Definition at line 133 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ getBasisRowStatus()

virtual SPxSolverBase<R>::VarStatus getBasisRowStatus ( int  i) const
virtual

gets basis status for a single row.

Implements SPxSimplifier< R >.

Definition at line 126 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ isUnsimplified()

virtual bool isUnsimplified ( ) const
virtual

specifies whether an optimal solution has already been unsimplified.

Reimplemented from SPxSimplifier< R >.

Definition at line 87 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ operator=()

Presol& operator= ( const Presol< R > &  rhs)

assignment operator

Definition at line 47 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ result()

virtual SPxSimplifier<R>::Result result ( ) const
virtual

returns result status of the simplification

Implements SPxSimplifier< R >.

Definition at line 80 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ simplify()

virtual SPxSimplifier<R>::Result simplify ( SPxLPBase< R > &  lp,
Real  remainingTime,
bool  keepbounds,
uint32_t  seed 
)
virtual

Implements SPxSimplifier< R >.

Definition at line 63 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ unsimplifiedDual()

virtual const VectorBase<R>& unsimplifiedDual ( )
virtual

returns a reference to the unsimplified dual solution.

Implements SPxSimplifier< R >.

Definition at line 102 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ unsimplifiedPrimal()

virtual const VectorBase<R>& unsimplifiedPrimal ( )
virtual

returns a reference to the unsimplified primal solution.

Implements SPxSimplifier< R >.

Definition at line 94 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ unsimplifiedRedCost()

virtual const VectorBase<R>& unsimplifiedRedCost ( )
virtual

returns a reference to the unsimplified reduced costs.

Implements SPxSimplifier< R >.

Definition at line 118 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ unsimplifiedSlacks()

virtual const VectorBase<R>& unsimplifiedSlacks ( )
virtual

returns a reference to the unsimplified slack values.

Implements SPxSimplifier< R >.

Definition at line 110 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().

◆ unsimplify()

virtual void unsimplify ( const VectorBase< R > &  ,
const VectorBase< R > &  ,
const VectorBase< R > &  ,
const VectorBase< R > &  ,
const typename SPxSolverBase< R >::VarStatus  [],
const typename SPxSolverBase< R >::VarStatus  [],
bool  isOptimal 
)
virtual

Implements SPxSimplifier< R >.

Definition at line 70 of file spxpapilo.h.

Referenced by Presol< BP >::getBasis().