Public Member Functions | Private Attributes | List of all members
Bonmin::CbcProbedDiver Class Reference

Class to do probed diving in the tree. More...

#include <BonDiver.hpp>

Inheritance diagram for Bonmin::CbcProbedDiver:
Inheritance graph
[legend]
Collaboration diagram for Bonmin::CbcProbedDiver:
Collaboration graph
[legend]

Public Member Functions

 CbcProbedDiver ()
 Default constructor. More...
 
 CbcProbedDiver (const CbcProbedDiver &rhs)
 Copy constructor. More...
 
CbcProbedDiveroperator= (const CbcProbedDiver &rhs)
 Assignment operator. More...
 
virtual ~CbcProbedDiver ()
 Destructor. More...
 
virtual CbcTree * clone () const
 Virtual copy constructor. More...
 
virtual void cleanTree (CbcModel *model, double cutoff, double &bestPossibleObjective)
 Prune the tree using an objective function cutoff. More...
 
virtual double getBestPossibleObjective ()
 Get best possible objective function in the tree. More...
 
virtual void endSearch ()
 Don't know what this is yet? More...
 
void initialize (BabSetupBase &b)
 Initialize the method (get options) More...
 
Heap access and maintenance methods.
virtual CbcNode * top () const
 Return top node (next node to process.*/. More...
 
virtual void push (CbcNode *x)
 Add node to the heap. More...
 
virtual void pop ()
 Remove the top node of the heap. More...
 
virtual CbcNode * bestNode (double cutoff)
 Remove the best node from the heap and return it. More...
 
vector methods
virtual bool empty ()
 Test if empty. More...
 
virtual int size ()
 Give size of the tree. More...
 

Private Attributes

bool treeCleaning_
 Say if we are cleaning the tree (then only call CbcTree functions). More...
 
CbcNode * nextOnBranch_
 Next node on the branch. More...
 
CbcNode * candidateChild_
 Candidate child explored. More...
 
bool stop_diving_on_cutoff_
 
Flag indicating if we want to stop diving based on the guessed

objective value and the cutoff value More...

 

Detailed Description

Class to do probed diving in the tree.

Principle is that branch-and-bound follows current branch of the tree by exploring the two children at each level and continuing the dive on the best one of the two. Untill it hits the bottom at which point it goes to the best candidate (according to CbcCompare) on the heap.

Definition at line 108 of file BonDiver.hpp.

Constructor & Destructor Documentation

Bonmin::CbcProbedDiver::CbcProbedDiver ( )

Default constructor.

Definition at line 196 of file BonDiver.cpp.

Bonmin::CbcProbedDiver::CbcProbedDiver ( const CbcProbedDiver rhs)

Copy constructor.

Definition at line 204 of file BonDiver.cpp.

Bonmin::CbcProbedDiver::~CbcProbedDiver ( )
virtual

Destructor.

Definition at line 226 of file BonDiver.cpp.

Member Function Documentation

CbcProbedDiver & Bonmin::CbcProbedDiver::operator= ( const CbcProbedDiver rhs)

Assignment operator.

Definition at line 213 of file BonDiver.cpp.

CbcTree * Bonmin::CbcProbedDiver::clone ( ) const
virtual

Virtual copy constructor.

copy constructor.

Definition at line 231 of file BonDiver.cpp.

CbcNode * Bonmin::CbcProbedDiver::top ( ) const
virtual

Return top node (next node to process.*/.

Definition at line 239 of file BonDiver.cpp.

void Bonmin::CbcProbedDiver::push ( CbcNode *  x)
virtual

Add node to the heap.

Definition at line 255 of file BonDiver.cpp.

void Bonmin::CbcProbedDiver::pop ( )
virtual

Remove the top node of the heap.

Definition at line 318 of file BonDiver.cpp.

CbcNode * Bonmin::CbcProbedDiver::bestNode ( double  cutoff)
virtual

Remove the best node from the heap and return it.

Definition at line 334 of file BonDiver.cpp.

bool Bonmin::CbcProbedDiver::empty ( )
virtual

Test if empty.

Definition at line 399 of file BonDiver.cpp.

virtual int Bonmin::CbcProbedDiver::size ( )
inlinevirtual

Give size of the tree.

Definition at line 144 of file BonDiver.hpp.

void Bonmin::CbcProbedDiver::cleanTree ( CbcModel *  model,
double  cutoff,
double &  bestPossibleObjective 
)
virtual

Prune the tree using an objective function cutoff.

Prune the tree using an objective function cutoff if nextOnBranch_ exists we push it on the heap and call CbcTree function.

This routine removes all nodes with objective worst than the specified cutoff value. It also sets bestPossibleObjective to best of all on tree before deleting.

Definition at line 408 of file BonDiver.cpp.

double Bonmin::CbcProbedDiver::getBestPossibleObjective ( )
virtual

Get best possible objective function in the tree.

Definition at line 423 of file BonDiver.cpp.

virtual void Bonmin::CbcProbedDiver::endSearch ( )
inlinevirtual

Don't know what this is yet?

Definition at line 164 of file BonDiver.hpp.

void Bonmin::CbcProbedDiver::initialize ( BabSetupBase b)

Initialize the method (get options)

Definition at line 440 of file BonDiver.cpp.

Member Data Documentation

bool Bonmin::CbcProbedDiver::treeCleaning_
private

Say if we are cleaning the tree (then only call CbcTree functions).

Definition at line 174 of file BonDiver.hpp.

CbcNode* Bonmin::CbcProbedDiver::nextOnBranch_
private

Next node on the branch.

Definition at line 176 of file BonDiver.hpp.

CbcNode* Bonmin::CbcProbedDiver::candidateChild_
private

Candidate child explored.

Definition at line 178 of file BonDiver.hpp.

bool Bonmin::CbcProbedDiver::stop_diving_on_cutoff_
private

Flag indicating if we want to stop diving based on the guessed

objective value and the cutoff value

Definition at line 181 of file BonDiver.hpp.


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