Class to do diving in the tree. More...
#include <BonDiver.hpp>
Public Member Functions | |
CbcDiver () | |
Default constructor. More... | |
CbcDiver (const CbcDiver &rhs) | |
Copy constructor. More... | |
CbcDiver & | operator= (const CbcDiver &rhs) |
Assignment operator. More... | |
virtual | ~CbcDiver () |
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... | |
Static Public Member Functions | |
static void | registerOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Register the options of the method. More... | |
Private Attributes | |
bool | treeCleaning_ |
Say if we are cleaning the tree (then only call CbcTree functions). More... | |
CbcNode * | nextOnBranch_ |
Noext node on the branch. 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... | |
Class to do diving in the tree.
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 26 of file BonDiver.hpp.
Bonmin::CbcDiver::CbcDiver | ( | ) |
Default constructor.
Definition at line 24 of file BonDiver.cpp.
Bonmin::CbcDiver::CbcDiver | ( | const CbcDiver & | rhs | ) |
Copy constructor.
Definition at line 31 of file BonDiver.cpp.
|
virtual |
Destructor.
Definition at line 51 of file BonDiver.cpp.
Assignment operator.
Definition at line 39 of file BonDiver.cpp.
|
virtual |
|
virtual |
Return top node (next node to process.*/.
Definition at line 64 of file BonDiver.cpp.
|
virtual |
Add node to the heap.
Definition at line 77 of file BonDiver.cpp.
|
virtual |
Remove the top node of the heap.
Definition at line 94 of file BonDiver.cpp.
|
virtual |
Remove the best node from the heap and return it.
Definition at line 107 of file BonDiver.cpp.
|
virtual |
Test if empty.
Definition at line 134 of file BonDiver.cpp.
|
inlinevirtual |
Give size of the tree.
Definition at line 62 of file BonDiver.hpp.
|
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 143 of file BonDiver.cpp.
|
virtual |
Get best possible objective function in the tree.
Definition at line 155 of file BonDiver.cpp.
|
inlinevirtual |
Don't know what this is yet?
Definition at line 82 of file BonDiver.hpp.
|
static |
Register the options of the method.
Definition at line 169 of file BonDiver.cpp.
void Bonmin::CbcDiver::initialize | ( | BabSetupBase & | b | ) |
Initialize the method (get options)
Definition at line 184 of file BonDiver.cpp.
|
private |
Say if we are cleaning the tree (then only call CbcTree functions).
Definition at line 95 of file BonDiver.hpp.
|
private |
Noext node on the branch.
Definition at line 97 of file BonDiver.hpp.
|
private |
Flag indicating if we want to stop diving based on the guessed
objective value and the cutoff value
Definition at line 100 of file BonDiver.hpp.