#include <BonDiver.hpp>
Inheritance diagram for Bonmin::CbcDiver:
Public Member Functions | |
CbcDiver () | |
Default constructor. | |
CbcDiver (const CbcDiver &rhs) | |
Copy constructor. | |
CbcDiver & | operator= (const CbcDiver &rhs) |
Assignment operator. | |
virtual | ~CbcDiver () |
Destructor. | |
virtual CbcTree * | clone () 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 CbcNode * | top () 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 CbcNode * | bestNode (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. | |
Static Public Member Functions | |
static void | registerOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Register the options of the method. | |
Private Attributes | |
bool | treeCleaning_ |
Say if we are cleaning the tree (then only call CbcTree functions). | |
CbcNode * | nextOnBranch_ |
Noext node on the branch. | |
bool | stop_diving_on_cutoff_ |
Flag indicating if we want to stop diving based on the guessed objective value and the cutoff value. |
Principle is that branch-and-bound follows current branch of the tree untill it hits the bottom at which point it goes to the best candidate (according to CbcCompare) on the heap.
Definition at line 25 of file BonDiver.hpp.
Bonmin::CbcDiver::CbcDiver | ( | ) |
Default constructor.
Bonmin::CbcDiver::CbcDiver | ( | const CbcDiver & | rhs | ) |
Copy constructor.
virtual Bonmin::CbcDiver::~CbcDiver | ( | ) | [virtual] |
Destructor.
virtual CbcTree* Bonmin::CbcDiver::clone | ( | ) | const [virtual] |
virtual CbcNode* Bonmin::CbcDiver::top | ( | ) | const [virtual] |
virtual void Bonmin::CbcDiver::push | ( | CbcNode * | x | ) | [virtual] |
virtual void Bonmin::CbcDiver::pop | ( | ) | [virtual] |
virtual CbcNode* Bonmin::CbcDiver::bestNode | ( | double | cutoff | ) | [virtual] |
virtual bool Bonmin::CbcDiver::empty | ( | ) | [virtual] |
virtual int Bonmin::CbcDiver::size | ( | ) | [inline, virtual] |
Give size of the tree.
Definition at line 61 of file BonDiver.hpp.
References nextOnBranch_, and CbcTree::nodes_.
virtual void Bonmin::CbcDiver::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::CbcDiver::getBestPossibleObjective | ( | ) | [virtual] |
virtual void Bonmin::CbcDiver::endSearch | ( | ) | [inline, virtual] |
Don't know what this is yet?
Reimplemented from CbcTree.
Definition at line 81 of file BonDiver.hpp.
References nextOnBranch_.
static void Bonmin::CbcDiver::registerOptions | ( | Ipopt::SmartPtr< Bonmin::RegisteredOptions > | roptions | ) | [static] |
Register the options of the method.
void Bonmin::CbcDiver::initialize | ( | Ipopt::SmartPtr< Ipopt::OptionsList > | options | ) |
Initialize the method (get options).
bool Bonmin::CbcDiver::treeCleaning_ [private] |
Say if we are cleaning the tree (then only call CbcTree functions).
Definition at line 94 of file BonDiver.hpp.
CbcNode* Bonmin::CbcDiver::nextOnBranch_ [private] |
Noext node on the branch.
Definition at line 96 of file BonDiver.hpp.
Referenced by endSearch(), and size().
bool Bonmin::CbcDiver::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 99 of file BonDiver.hpp.