Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
CbcFathom Class Referenceabstract

Fathom base class. More...

#include <CbcFathom.hpp>

+ Inheritance diagram for CbcFathom:
+ Collaboration diagram for CbcFathom:

Public Member Functions

 CbcFathom ()
 
 CbcFathom (CbcModel &model)
 
virtual ~CbcFathom ()
 
virtual void setModel (CbcModel *model)
 update model (This is needed if cliques update matrix etc) More...
 
virtual CbcFathomclone () const =0
 Clone. More...
 
virtual void resetModel (CbcModel *model)=0
 Resets stuff if model changes. More...
 
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. More...
 
bool possible () const
 

Protected Attributes

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

Private Member Functions

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

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 32 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 62 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 69 of file CbcFathom.hpp.

bool CbcFathom::possible_
protected

Possible - if this method of fathoming can be used.

Definition at line 71 of file CbcFathom.hpp.


The documentation for this class was generated from the following file: