Minotaur 0.4.1
Docs for developers
|
#include <NodeStack.h>
Public Member Functions | |
NodeStack () | |
Constructor. | |
virtual | ~NodeStack () |
Destroy. | |
virtual bool | isEmpty () const |
Return true if there are no active nodes in the heap, otherwise return false. More... | |
virtual double | getBestLB () const |
Find the minimum lower bound of all the active nodes in the stack. This function is expensive and must be avoided for large trees. More... | |
virtual UInt | getDeepestLevel () const |
The maximum depth is the depth of the topmost node in the stack. More... | |
virtual void | pop () |
Remove the best node from the heap. More... | |
virtual void | write (std::ostream &out) const |
Write in order the node ID and the depth of each active node. More... | |
virtual void | push (NodePtr n) |
Add a node to the set of active nodes. More... | |
virtual NodePtr | top () const |
Get access to the best node in this heap. More... | |
virtual size_t | getSize () const |
Get the number of active nodes in the heap. More... | |
NodeStackIter | nodesBegin () |
Get iterator to the first node in the heap. | |
NodeStackIter | nodesEnd () |
Get iterator to the last node in the heap. | |
![]() | |
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... | |
When the active nodes of the branch-and-bound tree are explored in a last-in-first-out (LIFO) order, we store them in a stack. This is essentially a depth first search.
|
virtual |
Find the minimum lower bound of all the active nodes in the stack. This function is expensive and must be avoided for large trees.
Implements Minotaur::ActiveNodeStore.
|
virtual |
The maximum depth is the depth of the topmost node in the stack.
Implements Minotaur::ActiveNodeStore.
|
inlinevirtual |
Get the number of active nodes in the heap.
Implements Minotaur::ActiveNodeStore.
|
virtual |
Return true if there are no active nodes in the heap, otherwise return false.
Implements Minotaur::ActiveNodeStore.
|
virtual |
Remove the best node from the heap.
Implements Minotaur::ActiveNodeStore.
|
virtual |
Add a node to the set of active nodes.
Implements Minotaur::ActiveNodeStore.
|
inlinevirtual |
Get access to the best node in this heap.
Implements Minotaur::ActiveNodeStore.
|
virtual |
Write in order the node ID and the depth of each active node.
Implements Minotaur::ActiveNodeStore.