Minotaur 0.4.1
Docs for developers
|
Save and retrieve active nodes. More...
#include <ActiveNodeStore.h>
Public Member Functions | |
ActiveNodeStore () | |
Default Constructor. | |
virtual | ~ActiveNodeStore () |
Destroy. | |
virtual double | getBestLB () const =0 |
Find the minimum lower bound of all the active nodes. More... | |
virtual UInt | getDeepestLevel () const =0 |
Find the maximum depth of all active nodes. More... | |
virtual size_t | getSize () const =0 |
Get the number of active nodes. More... | |
virtual bool | isEmpty () const =0 |
Check if there are any active nodes left. More... | |
virtual void | pop ()=0 |
Remove the best node from the store. More... | |
virtual void | push (NodePtr n)=0 |
Add a node to the set of active nodes. More... | |
virtual NodePtr | top () const =0 |
Access to the best candidate for evaluating next. More... | |
virtual void | write (std::ostream &out) const =0 |
Display the active nodes. More... | |
Save and retrieve active nodes.
Nodes that have not been processed yet by the branch-and-bound algorithm are called active nodes. This base class is used to store them in a suitable data structure (stack or heap).
|
pure virtual |
Find the minimum lower bound of all the active nodes.
Implemented in Minotaur::NodeHeap, and Minotaur::NodeStack.
|
pure virtual |
Find the maximum depth of all active nodes.
Implemented in Minotaur::NodeHeap, and Minotaur::NodeStack.
|
pure virtual |
Get the number of active nodes.
Implemented in Minotaur::NodeHeap, and Minotaur::NodeStack.
|
pure virtual |
Check if there are any active nodes left.
Implemented in Minotaur::NodeHeap, and Minotaur::NodeStack.
|
pure virtual |
Remove the best node from the store.
Implemented in Minotaur::NodeHeap, and Minotaur::NodeStack.
|
pure virtual |
Add a node to the set of active nodes.
[in] | n | Pointer to node to be added. |
Implemented in Minotaur::NodeHeap, and Minotaur::NodeStack.
|
pure virtual |
Access to the best candidate for evaluating next.
Does not remove the best candidate from the storage. It just returns a pointer to it. Use pop() to remove the candidate.
Implemented in Minotaur::NodeHeap, and Minotaur::NodeStack.
|
pure virtual |
Display the active nodes.
Write in order the node IDs and the criteria used to order the nodes, e.g. bound value and depth.
[in] | out | output stream to write to. |
Implemented in Minotaur::NodeHeap, and Minotaur::NodeStack.