Scippy

SoPlex

Sequential object-oriented simPlex

Class for storing a primal-dual solution with basis information. More...

#include <solbase.h>

Public Member Functions

bool hasPrimal () const
 is a primal feasible solution available?
 
bool getPrimal (VectorBase< R > &vector) const
 gets the primal solution vector if available; returns true on success
 
bool getSlacks (VectorBase< R > &vector) const
 gets the vector of slack values if available; returns true on success
 
bool hasPrimalRay () const
 is a primal unbounded ray available?
 
bool getPrimalRay (VectorBase< R > &vector) const
 gets the primal unbounded ray if available; returns true on success
 
bool hasDual () const
 is a dual solution available?
 
bool getDual (VectorBase< R > &vector) const
 gets the dual solution vector if available; returns true on success
 
bool getRedCost (VectorBase< R > &vector) const
 gets the vector of reduced cost values if available; returns true on success
 
bool hasDualFarkas () const
 is a dual farkas ray available?
 
bool getDualFarkas (VectorBase< R > &vector) const
 gets the Farkas proof if available; returns true on success
 
int totalSizePrimal (const int base=2) const
 returns total size of primal solution
 
int totalSizeDual (const int base=2) const
 returns total size of dual solution
 
int dlcmSizePrimal (const int base=2) const
 returns size of least common multiple of denominators in primal solution
 
int dlcmSizeDual (const int base=2) const
 returns size of least common multiple of denominators in dual solution
 
int dmaxSizePrimal (const int base=2) const
 returns size of largest denominator in primal solution
 
int dmaxSizeDual (const int base=2) const
 returns size of largest denominator in dual solution
 
void invalidate ()
 invalidate solution
 

Private Member Functions

 SolBase ()
 default constructor only for friends
 
SolBase< R > & operator= (const SolBase< R > &sol)
 assignment operator only for friends
 
template<class S >
SolBase< R > & operator= (const SolBase< S > &sol)
 assignment operator only for friends
 

Private Attributes

DVectorBase< R > _primal
 
DVectorBase< R > _slacks
 
DVectorBase< R > _primalRay
 
DVectorBase< R > _dual
 
DVectorBase< R > _redCost
 
DVectorBase< R > _dualFarkas
 
_primalObjVal
 
_dualObjVal
 
unsigned int _hasPrimal:1
 
unsigned int _hasPrimalRay:1
 
unsigned int _hasDual:1
 
unsigned int _hasDualFarkas:1
 

Friends

class SoPlex
 
template<class S >
class SolBase
 

Detailed Description

template<class R>
class soplex::SolBase< R >

Class for storing a primal-dual solution with basis information.

Definition at line 44 of file solbase.h.

Constructor & Destructor Documentation

SolBase ( )
private

default constructor only for friends

Definition at line 238 of file solbase.h.

Member Function Documentation

int dlcmSizeDual ( const int  base = 2) const

returns size of least common multiple of denominators in dual solution

Definition at line 171 of file solbase.h.

Referenced by SoPlex::dlcmSizeDualRational().

int dlcmSizePrimal ( const int  base = 2) const

returns size of least common multiple of denominators in primal solution

Definition at line 157 of file solbase.h.

Referenced by SoPlex::dlcmSizePrimalRational().

int dmaxSizeDual ( const int  base = 2) const

returns size of largest denominator in dual solution

Definition at line 199 of file solbase.h.

Referenced by SoPlex::dmaxSizeDualRational().

int dmaxSizePrimal ( const int  base = 2) const

returns size of largest denominator in primal solution

Definition at line 185 of file solbase.h.

Referenced by SoPlex::dmaxSizePrimalRational().

bool getDual ( VectorBase< R > &  vector) const

gets the dual solution vector if available; returns true on success

Definition at line 96 of file solbase.h.

Referenced by SoPlex::getDualRational(), SoPlex::getDualReal(), and soplex::reconstructSol().

bool getDualFarkas ( VectorBase< R > &  vector) const

gets the Farkas proof if available; returns true on success

Definition at line 120 of file solbase.h.

Referenced by SoPlex::getDualFarkasRational(), and SoPlex::getDualFarkasReal().

bool getPrimal ( VectorBase< R > &  vector) const

gets the primal solution vector if available; returns true on success

Definition at line 57 of file solbase.h.

Referenced by SoPlex::getPrimalRational(), SoPlex::getPrimalReal(), and soplex::reconstructSol().

bool getPrimalRay ( VectorBase< R > &  vector) const

gets the primal unbounded ray if available; returns true on success

Definition at line 81 of file solbase.h.

Referenced by SoPlex::getPrimalRayRational(), and SoPlex::getPrimalRayReal().

bool getRedCost ( VectorBase< R > &  vector) const

gets the vector of reduced cost values if available; returns true on success

Definition at line 105 of file solbase.h.

Referenced by SoPlex::getRedCostRational(), and SoPlex::getRedCostReal().

bool getSlacks ( VectorBase< R > &  vector) const

gets the vector of slack values if available; returns true on success

Definition at line 66 of file solbase.h.

Referenced by SoPlex::getSlacksRational(), SoPlex::getSlacksReal(), and soplex::reconstructSol().

bool hasDual ( ) const
bool hasDualFarkas ( ) const

is a dual farkas ray available?

Definition at line 114 of file solbase.h.

Referenced by SoPlex::_computeInfeasBox(), SoPlex::_project(), and SoPlex::hasDualFarkas().

bool hasPrimal ( ) const

is a primal feasible solution available?

Definition at line 51 of file solbase.h.

Referenced by SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_untransformEquality(), SoPlex::hasPrimal(), and soplex::reconstructSol().

bool hasPrimalRay ( ) const

is a primal unbounded ray available?

Definition at line 75 of file solbase.h.

Referenced by SoPlex::_project(), SoPlex::_solveRational(), SoPlex::_untransformEquality(), and SoPlex::hasPrimalRay().

SolBase<R>& operator= ( const SolBase< R > &  sol)
private

assignment operator only for friends

Definition at line 246 of file solbase.h.

SolBase<R>& operator= ( const SolBase< S > &  sol)
private

assignment operator only for friends

Definition at line 281 of file solbase.h.

int totalSizeDual ( const int  base = 2) const

returns total size of dual solution

Definition at line 143 of file solbase.h.

Referenced by SoPlex::totalSizeDualRational().

int totalSizePrimal ( const int  base = 2) const

returns total size of primal solution

Definition at line 129 of file solbase.h.

Referenced by SoPlex::totalSizePrimalRational().

Friends And Related Function Documentation

friend class SolBase
friend

Definition at line 47 of file solbase.h.

friend class SoPlex
friend

Definition at line 46 of file solbase.h.

Member Data Documentation