15#ifndef MINOTAURNODEHEAP_H
16#define MINOTAURNODEHEAP_H
58 virtual bool isEmpty()
const {
return nodes_.empty(); }
77 virtual void write(std::ostream &out)
const;
89 virtual size_t getSize()
const {
return (nodes_.size()); }
104 typedef NodeHeap *NodeHeapPtr;
Declare the base class ActiveNodeStore for storing active nodes of the branch-and-bound tree.
Declare important 'types' used in Minotaur.
Save and retrieve active nodes.
Definition: ActiveNodeStore.h:31
Definition: NodeHeap.h:35
virtual void setType(Type type)
Set the type of ordering of this heap.
Definition: NodeHeap.cpp:136
virtual size_t getSize() const
Get the number of active nodes in the heap.
Definition: NodeHeap.h:89
virtual ~NodeHeap()
Destroy.
Definition: NodeHeap.cpp:53
NodePtrIterator nodesBegin()
Get iterator to the first node in the heap.
Definition: NodeHeap.cpp:154
virtual UInt getDeepestLevel() const
Find the maximum depth of all active nodes.
Definition: NodeHeap.cpp:92
virtual void write(std::ostream &out) const
Definition: NodeHeap.cpp:109
Type
Types of ordering.
Definition: NodeHeap.h:40
virtual void pop()
Remove the best node from the heap.
Definition: NodeHeap.cpp:59
NodePtrIterator nodesEnd()
Get iterator to the last node in the heap.
Definition: NodeHeap.cpp:160
virtual bool isEmpty() const
Definition: NodeHeap.h:58
NodeHeap(Type type)
Constructor.
Definition: NodeHeap.h:46
virtual double getBestLB() const
Definition: NodeHeap.cpp:76
virtual void push(NodePtr n)
Add a node to the set of active nodes.
Definition: NodeHeap.cpp:119
virtual NodePtr top() const
Get access to the best node in this heap.
Definition: NodeHeap.h:86
Definition: ActiveNodeStore.h:20
unsigned int UInt
Unsigned integer.
Definition: Types.h:30