Scippy

SoPlex

Sequential object-oriented simPlex

SPxEquiliSC Class Reference

Equilibrium row/column scaling.This SPxScaler implementation performs equilibrium scaling of the LPs rows and columns. More...

#include <spxequilisc.h>

Inheritance diagram for SPxEquiliSC:

Public Member Functions

Construction / destruction
 SPxEquiliSC (bool doBoth=true)
 default constructor (this scaler makes no use of inherited member m_colFirst) More...
 
 SPxEquiliSC (const SPxEquiliSC &old)
 copy constructor More...
 
SPxEquiliSCoperator= (const SPxEquiliSC &)
 assignment operator More...
 
virtual ~SPxEquiliSC ()
 destructor More...
 
virtual SPxScalerclone () const
 clone function for polymorphism More...
 
Scaling
virtual void scale (SPxLP &lp)
 Scale the loaded SPxLP. More...
 
- Public Member Functions inherited from SPxScaler
 SPxScaler (const char *name, bool colFirst=false, bool doBoth=true, SPxOut *spxout=NULL)
 constructor More...
 
 SPxScaler (const SPxScaler &)
 copy constructor More...
 
SPxScaleroperator= (const SPxScaler &)
 assignment operator More...
 
virtual ~SPxScaler ()
 destructor. More...
 
virtual const char * getName () const
 get name of scaler. More...
 
virtual void setOrder (bool colFirst)
 set scaling order. More...
 
virtual void setBoth (bool both)
 set wether column and row scaling should be performed. More...
 
virtual void setOutstream (SPxOut &newOutstream)
 set message handler More...
 
virtual void unscalePrimal (Vector &x) const
 unscale dense primal solution vector given in x. More...
 
virtual void unscaleSlacks (Vector &s) const
 unscale dense slack vector given in s. More...
 
virtual void unscaleDual (Vector &pi) const
 unscale dense dual solution vector given in pi. More...
 
virtual void unscaleRedCost (Vector &r) const
 unscale dense reduced cost vector given in r. More...
 
virtual Real minAbsColscale () const
 absolute smallest column scaling factor More...
 
virtual Real maxAbsColscale () const
 absolute biggest column scaling factor More...
 
virtual Real minAbsRowscale () const
 absolute smallest row scaling factor More...
 
virtual Real maxAbsRowscale () const
 absolute biggest row scaling factor More...
 
virtual Real maxColRatio (const SPxLP &lp) const
 maximum ratio between absolute biggest and smallest element in any column. More...
 
virtual Real maxRowRatio (const SPxLP &lp) const
 maximum ratio between absolute biggest and smallest element in any row. More...
 
virtual bool isConsistent () const
 consistency check More...
 

Protected Member Functions

Protected helpers
virtual Real computeScale (Real, Real maxi) const
 Does nothing but returning maxi. More...
 
- Protected Member Functions inherited from SPxScaler
virtual void setup (SPxLP &lp)
 setup scale array for the LP. More...
 
virtual Real computeScalingVecs (const SVSet *vecset, const DataArray< Real > &coScaleval, DataArray< Real > &scaleval)
 iterates through vecset and calls computeScale() for each vector. More...
 
virtual void applyScaling (SPxLP &lp)
 applies m_colscale and m_rowscale to the lp. More...
 

Additional Inherited Members

- Protected Attributes inherited from SPxScaler
const char * m_name
 Name of the scaler. More...
 
DataArray< Realm_colscale
 column scaling factors More...
 
DataArray< Realm_rowscale
 row scaling factors More...
 
bool m_colFirst
 do column scaling first More...
 
bool m_doBoth
 do columns and rows More...
 
SPxOutspxout
 message handler More...
 

Detailed Description

Equilibrium row/column scaling.

This SPxScaler implementation performs equilibrium scaling of the LPs rows and columns.

Definition at line 35 of file spxequilisc.h.

Constructor & Destructor Documentation

SPxEquiliSC ( bool  doBoth = true)
explicit

default constructor (this scaler makes no use of inherited member m_colFirst)

Definition at line 31 of file spxequilisc.cpp.

Referenced by SPxEquiliSC::clone().

SPxEquiliSC ( const SPxEquiliSC old)

copy constructor

Definition at line 35 of file spxequilisc.cpp.

virtual ~SPxEquiliSC ( )
virtual

destructor

Definition at line 49 of file spxequilisc.h.

Member Function Documentation

virtual SPxScaler* clone ( ) const
virtual

clone function for polymorphism

Implements SPxScaler.

Definition at line 52 of file spxequilisc.h.

References SPxEquiliSC::computeScale(), SPxEquiliSC::scale(), and SPxEquiliSC::SPxEquiliSC().

Real computeScale ( Real  ,
Real  maxi 
) const
protectedvirtual

Does nothing but returning maxi.

Reimplemented from SPxScaler.

Definition at line 49 of file spxequilisc.cpp.

Referenced by SPxEquiliSC::clone().

SPxEquiliSC & operator= ( const SPxEquiliSC rhs)

assignment operator

Definition at line 39 of file spxequilisc.cpp.

References SPxScaler::operator=().