Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

CbcFathom Class Reference

Fathom base class. More...

#include <CbcFathom.hpp>

Inheritance diagram for CbcFathom:

CbcFathomDynamicProgramming List of all members.

Public Member Functions

 CbcFathom ()
 CbcFathom (CbcModel &model)
virtual ~CbcFathom ()
virtual void setModel (CbcModel *model)
 update model (This is needed if cliques update matrix etc)
virtual CbcFathomclone () const =0
 Clone.
virtual void resetModel (CbcModel *model)=0
 Resets stuff if model changes.
virtual int fathom (double *&newSolution)=0
 returns 0 if no fathoming attempted, 1 fully fathomed, 2 incomplete search, 3 incomplete search but treat as complete.
bool possible () const

Protected Attributes

CbcModelmodel_
 Model.
bool possible_
 Possible - if this method of fathoming can be used.

Private Member Functions

CbcFathomoperator= (const CbcFathom &rhs)
 Illegal Assignment operator.

Detailed Description

Fathom base class.

The idea is that after some branching the problem will be effectively smaller than the original problem and maybe there will be a more specialized technique which can completely fathom this branch quickly.

One method is to presolve the problem to give a much smaller new problem and then do branch and cut on that. Another might be dynamic programming.

Definition at line 20 of file CbcFathom.hpp.


Constructor & Destructor Documentation

CbcFathom::CbcFathom  ) 
 

CbcFathom::CbcFathom CbcModel model  ) 
 

virtual CbcFathom::~CbcFathom  )  [virtual]
 


Member Function Documentation

virtual void CbcFathom::setModel CbcModel model  )  [virtual]
 

update model (This is needed if cliques update matrix etc)

Reimplemented in CbcFathomDynamicProgramming.

virtual CbcFathom* CbcFathom::clone  )  const [pure virtual]
 

Clone.

Implemented in CbcFathomDynamicProgramming.

virtual void CbcFathom::resetModel CbcModel model  )  [pure virtual]
 

Resets stuff if model changes.

Implemented in CbcFathomDynamicProgramming.

virtual int CbcFathom::fathom double *&  newSolution  )  [pure virtual]
 

returns 0 if no fathoming attempted, 1 fully fathomed, 2 incomplete search, 3 incomplete search but treat as complete.

If solution then newSolution will not be NULL and will be freed by CbcModel. It is expected that the solution is better than best so far but CbcModel will double check.

If returns 3 then of course there is no guarantee of global optimum

Implemented in CbcFathomDynamicProgramming.

bool CbcFathom::possible  )  const [inline]
 

Definition at line 50 of file CbcFathom.hpp.

CbcFathom& CbcFathom::operator= const CbcFathom rhs  )  [private]
 

Illegal Assignment operator.


Member Data Documentation

CbcModel* CbcFathom::model_ [protected]
 

Model.

Definition at line 56 of file CbcFathom.hpp.

bool CbcFathom::possible_ [protected]
 

Possible - if this method of fathoming can be used.

Definition at line 58 of file CbcFathom.hpp.


The documentation for this class was generated from the following file:
Generated on Sun Jun 11 02:01:18 2006 by  doxygen 1.3.9.1