scsolver::numeric::lp::BaseAlgorithmImpl Class Reference

Collaboration diagram for scsolver::numeric::lp::BaseAlgorithmImpl:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 BaseAlgorithmImpl ()
 ~BaseAlgorithmImpl () throw ()
ModelgetModel () const
void setModel (Model *p)
ModelgetCanonicalModel ()
Matrix getSolution () const
void setSolution (const Matrix &)
void setCanonicalSolution (const Matrix &)

Private Member Functions

void initCanonicalModel ()
void initPermIndex ()

Private Attributes

Modelm_pModel
::std::auto_ptr< Modelm_pCanonModel
Matrix m_mxSolution
std::list< size_t > m_cnPermVarIndex
std::list< ConstDecVarm_cnConstDecVarList

Classes

struct  ConstDecVar


Detailed Description

Definition at line 45 of file lpbase.cxx.


Constructor & Destructor Documentation

scsolver::numeric::lp::BaseAlgorithmImpl::BaseAlgorithmImpl (  ) 

Definition at line 82 of file lpbase.cxx.

scsolver::numeric::lp::BaseAlgorithmImpl::~BaseAlgorithmImpl (  )  throw ()

Definition at line 89 of file lpbase.cxx.


Member Function Documentation

Model* scsolver::numeric::lp::BaseAlgorithmImpl::getModel (  )  const [inline]

Definition at line 51 of file lpbase.cxx.

References m_pModel.

Referenced by initCanonicalModel(), initPermIndex(), and setCanonicalSolution().

void scsolver::numeric::lp::BaseAlgorithmImpl::setModel ( Model p  )  [inline]

Definition at line 52 of file lpbase.cxx.

References m_pModel.

Model * scsolver::numeric::lp::BaseAlgorithmImpl::getCanonicalModel (  ) 

Definition at line 173 of file lpbase.cxx.

References initCanonicalModel(), and m_pCanonModel.

Matrix scsolver::numeric::lp::BaseAlgorithmImpl::getSolution (  )  const [inline]

Definition at line 55 of file lpbase.cxx.

References m_mxSolution.

void scsolver::numeric::lp::BaseAlgorithmImpl::setSolution ( const Matrix other  ) 

Definition at line 180 of file lpbase.cxx.

References m_mxSolution, and scsolver::numeric::Matrix::swap().

void scsolver::numeric::lp::BaseAlgorithmImpl::setCanonicalSolution ( const Matrix mxCanonSol  ) 

Definition at line 186 of file lpbase.cxx.

References scsolver::numeric::Matrix::cols(), scsolver::numeric::lp::Model::getCostVector(), getModel(), m_cnConstDecVarList, m_cnPermVarIndex, m_mxSolution, m_pCanonModel, scsolver::numeric::Matrix::setResizable(), and scsolver::numeric::Matrix::swap().

void scsolver::numeric::lp::BaseAlgorithmImpl::initCanonicalModel (  )  [private]

Initialize the canonical (simplified) model with all constant equivalent variables taken out. A variable is declared constant equivalent if its upper and lower bound values are equal.

Definition at line 98 of file lpbase.cxx.

References scsolver::numeric::BOUND_LOWER, scsolver::numeric::BOUND_UPPER, scsolver::Debug(), getModel(), scsolver::numeric::lp::BaseAlgorithmImpl::ConstDecVar::Id, initPermIndex(), m_cnConstDecVarList, m_cnPermVarIndex, m_pCanonModel, and scsolver::numeric::lp::BaseAlgorithmImpl::ConstDecVar::Value.

Referenced by getCanonicalModel().

void scsolver::numeric::lp::BaseAlgorithmImpl::initPermIndex (  )  [private]

Initialize the permutation index list. This list is used to set the values of decision variables back to their original position in case of model reduction.

Definition at line 222 of file lpbase.cxx.

References scsolver::numeric::Matrix::cols(), scsolver::numeric::lp::Model::getCostVector(), getModel(), and m_cnPermVarIndex.

Referenced by initCanonicalModel().


Member Data Documentation

Model* scsolver::numeric::lp::BaseAlgorithmImpl::m_pModel [private]

Definition at line 60 of file lpbase.cxx.

Referenced by getModel(), and setModel().

::std::auto_ptr<Model> scsolver::numeric::lp::BaseAlgorithmImpl::m_pCanonModel [private]

Definition at line 61 of file lpbase.cxx.

Referenced by getCanonicalModel(), initCanonicalModel(), and setCanonicalSolution().

Matrix scsolver::numeric::lp::BaseAlgorithmImpl::m_mxSolution [private]

Definition at line 62 of file lpbase.cxx.

Referenced by getSolution(), setCanonicalSolution(), and setSolution().

std::list<size_t> scsolver::numeric::lp::BaseAlgorithmImpl::m_cnPermVarIndex [private]

Definition at line 66 of file lpbase.cxx.

Referenced by initCanonicalModel(), initPermIndex(), and setCanonicalSolution().

std::list<ConstDecVar> scsolver::numeric::lp::BaseAlgorithmImpl::m_cnConstDecVarList [private]

Definition at line 76 of file lpbase.cxx.

Referenced by initCanonicalModel(), and setCanonicalSolution().


The documentation for this class was generated from the following file:
Generated on Mon Jul 28 09:13:51 2008 for scsolver by  doxygen 1.5.3