
Public Member Functions | |
| BaseAlgorithmImpl () | |
| ~BaseAlgorithmImpl () throw () | |
| Model * | getModel () const |
| void | setModel (Model *p) |
| Model * | getCanonicalModel () |
| Matrix | getSolution () const |
| void | setSolution (const Matrix &) |
| void | setCanonicalSolution (const Matrix &) |
Private Member Functions | |
| void | initCanonicalModel () |
| void | initPermIndex () |
Private Attributes | |
| Model * | m_pModel |
| ::std::auto_ptr< Model > | m_pCanonModel |
| Matrix | m_mxSolution |
| std::list< size_t > | m_cnPermVarIndex |
| std::list< ConstDecVar > | m_cnConstDecVarList |
Classes | |
| struct | ConstDecVar |
Definition at line 45 of file lpbase.cxx.
| 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.
| 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] |
| Model * scsolver::numeric::lp::BaseAlgorithmImpl::getCanonicalModel | ( | ) |
| Matrix scsolver::numeric::lp::BaseAlgorithmImpl::getSolution | ( | ) | const [inline] |
| 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().
::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().
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().
1.5.3