Scippy

SoPlex

Sequential object-oriented simPlex

SPxScaler Class Referenceabstract

LP scaler abstract base class.Instances of classes derived from SPxScaler may be loaded to SoPlex in order to scale LPs before solving them. SoPlex will load() itself to the SPxScaler and then call scale(). Generally any SPxLP can be loaded to a SPxScaler for scale()ing it. The scaling can be undone by calling unscale(). More...

#include <spxscaler.h>

Public Member Functions

virtual int computeScaleExp (const SVector &vec, const DataArray< int > &oldScaleExp) const
 compute a single scaling vector , e.g. of a newly added row More...
 
virtual int computeScaleExp (const SVectorBase< Rational > &vec, const DataArray< int > &oldScaleExp) const
 
virtual void applyScaling (SPxLPBase< Real > &lp)
 applies m_colscale and m_rowscale to the lp. More...
 
Construction / destruction
 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 SPxScalerclone () const =0
 clone function for polymorphism More...
 
Access / modification
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 setRealParam (Real param, const char *name="realparam")
 set real parameter More...
 
virtual void setIntParam (int param, const char *name="intparam")
 set int parameter More...
 
Scaling
virtual void scale (SPxLPBase< Real > &lp, bool persistent=true)=0
 scale SPxLP. More...
 
virtual void unscale (SPxLPBase< Real > &lp)
 unscale SPxLP More...
 
virtual int getColScaleExp (int i) const
 returns scaling factor for column i More...
 
virtual int getRowScaleExp (int i) const
 returns scaling factor for row i More...
 
virtual void getColUnscaled (const SPxLPBase< Real > &lp, int i, DSVector &vec) const
 gets unscaled column i More...
 
virtual Real getColMaxAbsUnscaled (const SPxLPBase< Real > &lp, int i) const
 returns maximum absolute value of unscaled column i More...
 
virtual Real getColMinAbsUnscaled (const SPxLPBase< Real > &lp, int i) const
 returns minumum absolute value of unscaled column i More...
 
virtual Real upperUnscaled (const SPxLPBase< Real > &lp, int i) const
 returns unscaled upper bound i More...
 
virtual void getUpperUnscaled (const SPxLPBase< Real > &lp, Vector &vec) const
 returns unscaled upper bound vector of lp More...
 
virtual Real lowerUnscaled (const SPxLPBase< Real > &lp, int i) const
 returns unscaled lower bound i More...
 
virtual void getLowerUnscaled (const SPxLPBase< Real > &lp, Vector &vec) const
 gets unscaled lower bound vector More...
 
virtual Real maxObjUnscaled (const SPxLPBase< Real > &lp, int i) const
 returns unscaled objective function coefficient of i More...
 
virtual void getMaxObjUnscaled (const SPxLPBase< Real > &lp, Vector &vec) const
 gets unscaled objective function More...
 
virtual void getRowUnscaled (const SPxLPBase< Real > &lp, int i, DSVector &vec) const
 returns unscaled row i More...
 
virtual Real getRowMaxAbsUnscaled (const SPxLPBase< Real > &lp, int i) const
 returns maximum absolute value of unscaled row i More...
 
virtual Real getRowMinAbsUnscaled (const SPxLPBase< Real > &lp, int i) const
 returns minimum absolute value of unscaled row i More...
 
virtual Real rhsUnscaled (const SPxLPBase< Real > &lp, int i) const
 returns unscaled right hand side i More...
 
virtual void getRhsUnscaled (const SPxLPBase< Real > &lp, Vector &vec) const
 gets unscaled right hand side vector More...
 
virtual Real lhsUnscaled (const SPxLPBase< Real > &lp, int i) const
 returns unscaled left hand side i of lp More...
 
virtual void getLhsUnscaled (const SPxLPBase< Real > &lp, Vector &vec) const
 returns unscaled left hand side vector of lp More...
 
virtual Real getCoefUnscaled (const SPxLPBase< Real > &lp, int row, int col) const
 returns unscaled coefficient of lp More...
 
virtual void unscalePrimal (const SPxLPBase< Real > &lp, Vector &x) const
 unscale dense primal solution vector given in x. More...
 
virtual void unscaleSlacks (const SPxLPBase< Real > &lp, Vector &s) const
 unscale dense slack vector given in s. More...
 
virtual void unscaleDual (const SPxLPBase< Real > &lp, Vector &pi) const
 unscale dense dual solution vector given in pi. More...
 
virtual void unscaleRedCost (const SPxLPBase< Real > &lp, Vector &r) const
 unscale dense reduced cost vector given in r. More...
 
virtual void unscalePrimalray (const SPxLPBase< Real > &lp, Vector &ray) const
 unscale primal ray given in ray. More...
 
virtual void unscaleDualray (const SPxLPBase< Real > &lp, Vector &ray) const
 unscale dual ray given in ray. More...
 
virtual void scaleObj (const SPxLPBase< Real > &lp, VectorReal &origObj) const
 apply scaling to objective function vector origObj. More...
 
virtual Real scaleObj (const SPxLPBase< Real > &lp, int i, Real origObj) const
 returns scaled objective function coefficient origObj. More...
 
virtual Real scaleElement (const SPxLPBase< Real > &lp, int row, int col, Real val) const
 returns scaled LP element in row and col. More...
 
virtual Real scaleLower (const SPxLPBase< Real > &lp, int col, Real lower) const
 returns scaled lower bound of column col. More...
 
virtual Real scaleUpper (const SPxLPBase< Real > &lp, int col, Real upper) const
 returns scaled upper bound of column col. More...
 
virtual Real scaleLhs (const SPxLPBase< Real > &lp, int row, Real lhs) const
 returns scaled left hand side of row row. More...
 
virtual Real scaleRhs (const SPxLPBase< Real > &lp, int row, Real rhs) const
 returns scaled right hand side of row row. 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 SPxLPBase< Real > &lp) const
 maximum ratio between absolute biggest and smallest element in any column. More...
 
virtual Real maxRowRatio (const SPxLPBase< Real > &lp) const
 maximum ratio between absolute biggest and smallest element in any row. More...
 
Debugging
virtual bool isConsistent () const
 consistency check More...
 

Protected Member Functions

Protected helpers
virtual void setup (SPxLPBase< Real > &lp)
 clear and setup scaling arrays in the LP More...
 

Protected Attributes

Data
const char * m_name
 Name of the scaler. More...
 
DataArray< int > * m_activeColscaleExp
 pointer to currently active column scaling factors More...
 
DataArray< int > * m_activeRowscaleExp
 pointer to currently active row scaling factors More...
 
bool m_colFirst
 do column scaling first More...
 
bool m_doBoth
 do columns and rows More...
 
SPxOutspxout
 message handler More...
 

Friends

std::ostream & operator<< (std::ostream &s, const SPxScaler &sc)
 

Detailed Description

LP scaler abstract base class.

Instances of classes derived from SPxScaler may be loaded to SoPlex in order to scale LPs before solving them. SoPlex will load() itself to the SPxScaler and then call scale(). Generally any SPxLP can be loaded to a SPxScaler for scale()ing it. The scaling can be undone by calling unscale().

Mathematically, the scaling of a constraint matrix A can be written as \( A' = R A C \), with \( R \) and \( C \), being diagonal matrices corresponding to the row and column scale factors, respectively. Besides the constraints matrix, also the upper and lower bounds of both columns and rows need to be scaled.

Note that by default scaling is performed both before and after presolving and the former scaling factors are retained during branch-and-bound (persistent scaling). However, while within SoPlex the scaled problem is used, data accessed through the soplex.cpp interface is provided w.r.t. the original problem (i.e., in unscaled form). For instance, consider a scaled constraints matrix A' that is extended by artificial slack variables to the matrix (A',I). A basis \( B' = [(A',I)P]_{[1:m][1:m] }\) (with P being a permutation matrix) for the scaled problem corresponds to the basis \( B = R^{-1} [(A',I)P]_{[1:m][1:m]} [P^{T} \tilde{C}^{-1} P]_{[1:m][1:m] } \). In this equation, \( \tilde{C} \)is of the form

\[ \begin{array}{cc} C & 0 \\ O & R^{-1} \end{array}$ \]

Note that in SoPlex only scaling factors \( 2^k, k \in \mathbb{Z} \) are used.

Definition at line 75 of file spxscaler.h.

Constructor & Destructor Documentation

◆ SPxScaler() [1/2]

SPxScaler ( const char *  name,
bool  colFirst = false,
bool  doBoth = true,
SPxOut spxout = NULL 
)
explicit

constructor

Definition at line 53 of file spxscaler.cpp.

References SPxScaler::isConsistent().

◆ SPxScaler() [2/2]

SPxScaler ( const SPxScaler old)

copy constructor

Definition at line 68 of file spxscaler.cpp.

References SPxScaler::isConsistent().

◆ ~SPxScaler()

~SPxScaler ( )
virtual

destructor.

Definition at line 79 of file spxscaler.cpp.

References SPxScaler::m_name.

Member Function Documentation

◆ applyScaling()

◆ clone()

virtual SPxScaler* clone ( ) const
pure virtual

clone function for polymorphism

Implemented in SPxGeometSC, SPxLeastSqSC, and SPxEquiliSC.

Referenced by SoPlexLegacy::operator=(), and SoPlexLegacy::SoPlexLegacy().

◆ computeScaleExp() [1/2]

int computeScaleExp ( const SVector vec,
const DataArray< int > &  oldScaleExp 
) const
virtual

◆ computeScaleExp() [2/2]

int computeScaleExp ( const SVectorBase< Rational > &  vec,
const DataArray< int > &  oldScaleExp 
) const
virtual

Definition at line 165 of file spxscaler.cpp.

◆ getCoefUnscaled()

Real getCoefUnscaled ( const SPxLPBase< Real > &  lp,
int  row,
int  col 
) const
virtual

◆ getColMaxAbsUnscaled()

Real getColMaxAbsUnscaled ( const SPxLPBase< Real > &  lp,
int  i 
) const
virtual

◆ getColMinAbsUnscaled()

Real getColMinAbsUnscaled ( const SPxLPBase< Real > &  lp,
int  i 
) const
virtual

returns minumum absolute value of unscaled column i

returns minimum absolute value of unscaled column i

Definition at line 351 of file spxscaler.cpp.

References SVectorBase< R >::index(), soplex::infinity, SPxScaler::m_activeColscaleExp, SPxScaler::m_activeRowscaleExp, SPxLPBase< R >::nCols(), SVectorBase< R >::size(), soplex::spxAbs(), soplex::spxLdexp(), and SVectorBase< R >::value().

Referenced by SPxScaler::setOutstream().

◆ getColScaleExp()

int getColScaleExp ( int  i) const
virtual

returns scaling factor for column i

returns scaling factor for column i todo pass the LP?!

Definition at line 287 of file spxscaler.cpp.

References SPxScaler::m_activeColscaleExp.

Referenced by SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), and SPxScaler::setOutstream().

◆ getColUnscaled()

◆ getLhsUnscaled()

void getLhsUnscaled ( const SPxLPBase< Real > &  lp,
Vector vec 
) const
virtual

returns unscaled left hand side vector of lp

Definition at line 583 of file spxscaler.cpp.

References VectorBase< R >::dim(), SPxLPBase< R >::isScaled(), LPRowSetBase< R >::LPRowSetBase(), and soplex::spxLdexp().

Referenced by SPxScaler::setOutstream().

◆ getLowerUnscaled()

void getLowerUnscaled ( const SPxLPBase< Real > &  lp,
Vector vec 
) const
virtual

gets unscaled lower bound vector

returns unscaled lower bound vector of lp

Definition at line 424 of file spxscaler.cpp.

References VectorBase< R >::dim(), SPxLPBase< R >::isScaled(), LPColSetBase< R >::LPColSetBase(), and soplex::spxLdexp().

Referenced by SPxScaler::setOutstream().

◆ getMaxObjUnscaled()

void getMaxObjUnscaled ( const SPxLPBase< Real > &  lp,
Vector vec 
) const
virtual

gets unscaled objective function

gets unscaled objective function coefficient of i

Definition at line 449 of file spxscaler.cpp.

References VectorBase< R >::dim(), SPxLPBase< R >::isScaled(), LPColSetBase< R >::LPColSetBase(), and soplex::spxLdexp().

Referenced by SPxScaler::setOutstream().

◆ getName()

const char * getName ( ) const
virtual

get name of scaler

Definition at line 100 of file spxscaler.cpp.

References SPxScaler::m_name.

Referenced by SoPlex::getScalerName(), main(), and soplex::operator<<().

◆ getRhsUnscaled()

void getRhsUnscaled ( const SPxLPBase< Real > &  lp,
Vector vec 
) const
virtual

gets unscaled right hand side vector

Definition at line 553 of file spxscaler.cpp.

References VectorBase< R >::dim(), SPxLPBase< R >::isScaled(), LPRowSetBase< R >::LPRowSetBase(), and soplex::spxLdexp().

Referenced by SPxScaler::setOutstream().

◆ getRowMaxAbsUnscaled()

Real getRowMaxAbsUnscaled ( const SPxLPBase< Real > &  lp,
int  i 
) const
virtual

◆ getRowMinAbsUnscaled()

Real getRowMinAbsUnscaled ( const SPxLPBase< Real > &  lp,
int  i 
) const
virtual

◆ getRowScaleExp()

int getRowScaleExp ( int  i) const
virtual

returns scaling factor for row i

returns scaling factor for row i todo pass the LP?!

Definition at line 294 of file spxscaler.cpp.

References SPxScaler::m_activeRowscaleExp.

Referenced by SoPlex::getBasisInverseColReal(), SoPlex::getBasisInverseRowReal(), SoPlex::getBasisInverseTimesVecReal(), SoPlex::multBasis(), SoPlex::multBasisTranspose(), and SPxScaler::setOutstream().

◆ getRowUnscaled()

◆ getUpperUnscaled()

void getUpperUnscaled ( const SPxLPBase< Real > &  lp,
Vector vec 
) const
virtual

returns unscaled upper bound vector of lp

gets unscaled upper bound vector

Definition at line 394 of file spxscaler.cpp.

References VectorBase< R >::dim(), SPxLPBase< R >::isScaled(), LPColSetBase< R >::LPColSetBase(), and soplex::spxLdexp().

Referenced by SPxScaler::setOutstream().

◆ isConsistent()

bool isConsistent ( ) const
virtual

◆ lhsUnscaled()

Real lhsUnscaled ( const SPxLPBase< Real > &  lp,
int  i 
) const
virtual

returns unscaled left hand side i of lp

Definition at line 567 of file spxscaler.cpp.

References soplex::infinity, SPxLPBase< R >::isScaled(), LPRowSetBase< R >::LPRowSetBase(), SPxLPBase< R >::nRows(), and soplex::spxLdexp().

Referenced by SPxScaler::setOutstream().

◆ lowerUnscaled()

Real lowerUnscaled ( const SPxLPBase< Real > &  lp,
int  i 
) const
virtual

returns unscaled lower bound i

returns unscaled upper bound vector of lp

Definition at line 407 of file spxscaler.cpp.

References soplex::infinity, SPxLPBase< R >::isScaled(), LPColSetBase< R >::LPColSetBase(), SPxLPBase< R >::nCols(), and soplex::spxLdexp().

Referenced by SPxScaler::setOutstream().

◆ maxAbsColscale()

Real maxAbsColscale ( ) const
virtual

◆ maxAbsRowscale()

Real maxAbsRowscale ( ) const
virtual

◆ maxColRatio()

Real maxColRatio ( const SPxLPBase< Real > &  lp) const
virtual

maximum ratio between absolute biggest and smallest element in any column.

\(\max_{j\in\mbox{ cols}} \left(\frac{\max_{i\in\mbox{ rows}}|a_ij|} {\min_{i\in\mbox{ rows}}|a_ij|}\right)\)

Definition at line 820 of file spxscaler.cpp.

References SPxLPBase< R >::colVector(), soplex::infinity, soplex::isZero(), SPxLPBase< R >::nCols(), SVectorBase< R >::size(), soplex::spxAbs(), and SVectorBase< R >::value().

Referenced by SPxEquiliSC::scale(), SPxGeometSC::scale(), SPxLeastSqSC::scale(), and SPxScaler::setOutstream().

◆ maxObjUnscaled()

Real maxObjUnscaled ( const SPxLPBase< Real > &  lp,
int  i 
) const
virtual

returns unscaled objective function coefficient of i

Definition at line 436 of file spxscaler.cpp.

References SPxLPBase< R >::isScaled(), LPColSetBase< R >::LPColSetBase(), SPxLPBase< R >::nCols(), and soplex::spxLdexp().

Referenced by SPxScaler::setOutstream().

◆ maxRowRatio()

Real maxRowRatio ( const SPxLPBase< Real > &  lp) const
virtual

maximum ratio between absolute biggest and smallest element in any row.

\(\max_{i\in\mbox{ rows}} \left(\frac{\max_{j\in\mbox{ cols}}|a_ij|} {\min_{j\in\mbox{ cols}}|a_ij|}\right)\)

Definition at line 854 of file spxscaler.cpp.

References soplex::infinity, soplex::isZero(), SPxLPBase< R >::nRows(), SPxLPBase< R >::rowVector(), SVectorBase< R >::size(), soplex::spxAbs(), and SVectorBase< R >::value().

Referenced by SPxEquiliSC::scale(), SPxGeometSC::scale(), SPxLeastSqSC::scale(), and SPxScaler::setOutstream().

◆ minAbsColscale()

Real minAbsColscale ( ) const
virtual

◆ minAbsRowscale()

Real minAbsRowscale ( ) const
virtual

absolute smallest row scaling factor

Definition at line 790 of file spxscaler.cpp.

References SPxScaler::m_activeRowscaleExp, DataArray< T >::size(), and soplex::spxLdexp().

Referenced by SPxEquiliSC::scale(), SPxGeometSC::scale(), SPxLeastSqSC::scale(), and SPxScaler::setOutstream().

◆ operator=()

◆ rhsUnscaled()

Real rhsUnscaled ( const SPxLPBase< Real > &  lp,
int  i 
) const
virtual

returns unscaled right hand side i

Definition at line 536 of file spxscaler.cpp.

References soplex::infinity, SPxLPBase< R >::isScaled(), LPRowSetBase< R >::LPRowSetBase(), SPxLPBase< R >::nRows(), and soplex::spxLdexp().

Referenced by SPxScaler::setOutstream().

◆ scale()

virtual void scale ( SPxLPBase< Real > &  lp,
bool  persistent = true 
)
pure virtual

◆ scaleElement()

Real scaleElement ( const SPxLPBase< Real > &  lp,
int  row,
int  col,
Real  val 
) const
virtual

◆ scaleLhs()

Real scaleLhs ( const SPxLPBase< Real > &  lp,
int  row,
Real  lhs 
) const
virtual

returns scaled left hand side of row row.

Definition at line 741 of file spxscaler.cpp.

References SPxLPBase< R >::isScaled(), LPRowSetBase< R >::LPRowSetBase(), SPxLPBase< R >::nRows(), and soplex::spxLdexp().

Referenced by SPxLPBase< Real >::changeLhs(), and SPxScaler::setOutstream().

◆ scaleLower()

Real scaleLower ( const SPxLPBase< Real > &  lp,
int  col,
Real  lower 
) const
virtual

returns scaled lower bound of column col.

Definition at line 719 of file spxscaler.cpp.

References SPxLPBase< R >::isScaled(), LPColSetBase< R >::LPColSetBase(), SPxLPBase< R >::nCols(), and soplex::spxLdexp().

Referenced by SPxLPBase< Real >::changeLower(), and SPxScaler::setOutstream().

◆ scaleObj() [1/2]

void scaleObj ( const SPxLPBase< Real > &  lp,
VectorReal origObj 
) const
virtual

apply scaling to objective function vector origObj.

Definition at line 681 of file spxscaler.cpp.

References VectorBase< R >::dim(), SPxLPBase< R >::isScaled(), LPColSetBase< R >::LPColSetBase(), and soplex::spxLdexp().

Referenced by SPxLPBase< Real >::changeMaxObj(), and SPxScaler::setOutstream().

◆ scaleObj() [2/2]

Real scaleObj ( const SPxLPBase< Real > &  lp,
int  i,
Real  origObj 
) const
virtual

returns scaled objective function coefficient origObj.

Definition at line 693 of file spxscaler.cpp.

References SPxLPBase< R >::isScaled(), LPColSetBase< R >::LPColSetBase(), SPxLPBase< R >::nCols(), and soplex::spxLdexp().

◆ scaleRhs()

Real scaleRhs ( const SPxLPBase< Real > &  lp,
int  row,
Real  rhs 
) const
virtual

returns scaled right hand side of row row.

Definition at line 752 of file spxscaler.cpp.

References SPxLPBase< R >::isScaled(), LPRowSetBase< R >::LPRowSetBase(), SPxLPBase< R >::nRows(), and soplex::spxLdexp().

Referenced by SPxLPBase< Real >::changeRhs(), and SPxScaler::setOutstream().

◆ scaleUpper()

Real scaleUpper ( const SPxLPBase< Real > &  lp,
int  col,
Real  upper 
) const
virtual

returns scaled upper bound of column col.

Definition at line 730 of file spxscaler.cpp.

References SPxLPBase< R >::isScaled(), LPColSetBase< R >::LPColSetBase(), SPxLPBase< R >::nCols(), and soplex::spxLdexp().

Referenced by SPxLPBase< Real >::changeUpper(), and SPxScaler::setOutstream().

◆ setBoth()

void setBoth ( bool  both)
virtual

set wether column and row scaling should be performed

Definition at line 112 of file spxscaler.cpp.

References SPxScaler::m_doBoth.

◆ setIntParam()

void setIntParam ( int  param,
const char *  name = "intparam" 
)
virtual

set int parameter

Reimplemented in SPxLeastSqSC.

Definition at line 121 of file spxscaler.cpp.

Referenced by SoPlex::setIntParam(), and SPxScaler::setOutstream().

◆ setOrder()

void setOrder ( bool  colFirst)
virtual

set scaling order

Definition at line 106 of file spxscaler.cpp.

References SPxScaler::m_colFirst.

◆ setOutstream()

◆ setRealParam()

void setRealParam ( Real  param,
const char *  name = "realparam" 
)
virtual

set real parameter

Reimplemented in SPxLeastSqSC.

Definition at line 118 of file spxscaler.cpp.

Referenced by SPxScaler::setOutstream(), and SoPlex::setRealParam().

◆ setup()

◆ unscale()

◆ unscaleDual()

◆ unscaleDualray()

void unscaleDualray ( const SPxLPBase< Real > &  lp,
Vector ray 
) const
virtual

◆ unscalePrimal()

◆ unscalePrimalray()

void unscalePrimalray ( const SPxLPBase< Real > &  lp,
Vector ray 
) const
virtual

◆ unscaleRedCost()

◆ unscaleSlacks()

◆ upperUnscaled()

Real upperUnscaled ( const SPxLPBase< Real > &  lp,
int  i 
) const
virtual

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  s,
const SPxScaler sc 
)
friend

Definition at line 33 of file spxscaler.cpp.

Member Data Documentation

◆ m_activeColscaleExp

◆ m_activeRowscaleExp

◆ m_colFirst

bool m_colFirst
protected

do column scaling first

Definition at line 85 of file spxscaler.h.

Referenced by SPxScaler::operator=(), and SPxScaler::setOrder().

◆ m_doBoth

bool m_doBoth
protected

do columns and rows

Definition at line 86 of file spxscaler.h.

Referenced by SPxScaler::operator=(), SPxEquiliSC::scale(), and SPxScaler::setBoth().

◆ m_name

const char* m_name
protected

Name of the scaler.

Definition at line 82 of file spxscaler.h.

Referenced by SPxScaler::getName(), SPxScaler::operator=(), and SPxScaler::~SPxScaler().

◆ spxout

SPxOut* spxout
protected

message handler

Definition at line 87 of file spxscaler.h.

Referenced by SPxScaler::operator=(), SPxEquiliSC::scale(), SPxGeometSC::scale(), and SPxLeastSqSC::scale().