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]
List of all members.

Public Member Functions

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

Private Attributes

bool treeCleaning_
 Say if we are cleaning the tree (then only call CbcTree functions).
CbcNodenextOnBranch_
 Next node on the branch.
CbcNodecandidateChild_
 Candidate child explored.
bool stop_diving_on_cutoff_
 Flag indicating if we want to stop diving based on the guessed objective value and the cutoff value.

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 childs 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 107 of file BonDiver.hpp.


Constructor & Destructor Documentation

Bonmin::CbcProbedDiver::CbcProbedDiver (  ) 

Default constructor.

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

Copy constructor.

virtual Bonmin::CbcProbedDiver::~CbcProbedDiver (  )  [virtual]

Destructor.


Member Function Documentation

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

Assignment operator.

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

Virtual copy constructor.

Reimplemented from CbcTree.

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

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

Reimplemented from CbcTree.

virtual void Bonmin::CbcProbedDiver::push ( CbcNode x  )  [virtual]

Add node to the heap.

Reimplemented from CbcTree.

virtual void Bonmin::CbcProbedDiver::pop (  )  [virtual]

Remove the top node of the heap.

Reimplemented from CbcTree.

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

Remove the best node from the heap and return it.

Reimplemented from CbcTree.

virtual bool Bonmin::CbcProbedDiver::empty (  )  [virtual]

Test if empty.

Reimplemented from CbcTree.

virtual int Bonmin::CbcProbedDiver::size (  )  [inline, virtual]

Give size of the tree.

Definition at line 143 of file BonDiver.hpp.

References candidateChild_, nextOnBranch_, and CbcTree::nodes_.

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

Prune the tree using an objective function cutoff.

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.

Reimplemented from CbcTree.

virtual double Bonmin::CbcProbedDiver::getBestPossibleObjective (  )  [virtual]

Get best possible objective function in the tree.

Reimplemented from CbcTree.

virtual void Bonmin::CbcProbedDiver::endSearch (  )  [inline, virtual]

Don't know what this is yet?

Reimplemented from CbcTree.

Definition at line 163 of file BonDiver.hpp.

References nextOnBranch_.

void Bonmin::CbcProbedDiver::initialize ( Ipopt::SmartPtr< Ipopt::OptionsList options  ) 

Initialize the method (get options).


Member Data Documentation

bool Bonmin::CbcProbedDiver::treeCleaning_ [private]

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

Definition at line 173 of file BonDiver.hpp.

CbcNode* Bonmin::CbcProbedDiver::nextOnBranch_ [private]

Next node on the branch.

Definition at line 175 of file BonDiver.hpp.

Referenced by endSearch(), and size().

CbcNode* Bonmin::CbcProbedDiver::candidateChild_ [private]

Candidate child explored.

Definition at line 177 of file BonDiver.hpp.

Referenced by size().

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 180 of file BonDiver.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Jun 26 03:47:04 2008 for Bonmin by  doxygen 1.4.7