SoPlex Documentation
Loading...
Searching...
No Matches
Presol< R > Class Template Reference

#include <spxpapilo.h>

Inheritance diagram for Presol< R >:
SPxSimplifier< R >

Public Member Functions

Constructors / destructors

default constructor.

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

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
 
Timerm_timeUsed
 user time used for simplification
 
Timer::TYPE m_timerType
 
int m_remRows
 number of removed rows
 
int m_remCols
 number of removed columns
 
int m_remNzos
 number of removed nonzero coefficients
 
int m_chgBnds
 number of changed bounds
 
int m_chgLRhs
 number of change right-hand sides
 
int m_keptBnds
 number of kept bounds
 
int m_keptLRhs
 number of kept left- and right-hand sides
 
m_objoffset
 objective offset
 
m_minReduction
 minimal reduction (sum of removed rows/cols) to continue simplification
 
SPxOutspxout
 message handler
 
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]

template<class R >
Presol ( Timer::TYPE ttype = Timer::USER_TIME)
explicit

Definition at line 40 of file spxpapilo.h.

Referenced by Presol< R >::clone().

◆ Presol() [2/2]

template<class R >
Presol ( const Presol< R > & old)

copy constructor.

Definition at line 44 of file spxpapilo.h.

◆ ~Presol()

template<class R >
virtual ~Presol ( )
virtual

destructor.

Definition at line 53 of file spxpapilo.h.

Member Function Documentation

◆ clone()

template<class R >
SPxSimplifier< R > * clone ( ) const
virtual

Implements SPxSimplifier< R >.

Definition at line 58 of file spxpapilo.h.

References Presol< R >::Presol().

◆ getBasis()

template<class R >
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.

◆ getBasisColStatus()

template<class R >
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.

◆ getBasisRowStatus()

template<class R >
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.

◆ isUnsimplified()

template<class R >
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.

◆ operator=()

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

assignment operator

Definition at line 47 of file spxpapilo.h.

◆ result()

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

returns result status of the simplification

Implements SPxSimplifier< R >.

Definition at line 80 of file spxpapilo.h.

◆ simplify()

template<class R >
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.

◆ unsimplifiedDual()

template<class R >
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.

◆ unsimplifiedPrimal()

template<class R >
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.

◆ unsimplifiedRedCost()

template<class R >
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.

◆ unsimplifiedSlacks()

template<class R >
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.

◆ unsimplify()

template<class R >
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.