Go to the documentation of this file.
190 BCP_tree() : _tree(), maxdepth_(0), processed_(0) {}
193 for (
int i = _tree.
size() - 1; i >= 0; --i) {
211 inline size_t size()
const {
return _tree.
size(); }
244 static std::map<int, BCP_tm_node_to_send*>
waiting;
270 int explicit_core_level;
271 int explicit_var_level;
272 int explicit_cut_level;
273 int explicit_ws_level;
274 int explicit_all_level;
277 int missing_desc_num;
BCP_tm_node_status status
BCP_tm_node_status
Node status in the Tree Manager.
reference front()
Return a reference to the first entry.
@ BCP_NextPhaseNode_OverUB
BCP_tm_node_data(BCP_node_change *d=NULL)
BCP_vec< BCP_tm_node * >::iterator begin()
BCP_message_tag
This enumerative constant describes the message tags different processes of BCP understand.
static std::map< int, BCP_tm_node_to_send * > waiting
BCP_tm_node(int level, BCP_node_change *desc)
Coin::SmartPtr< BCP_node_change > _desc
Coin::SmartPtr< BCP_user_data > _user
void new_child(BCP_tm_node *node)
size_t size() const
Return the current number of entries.
bool receive_cuts(BCP_buffer &buf)
return true if has everything to send the thing off to the LP.
@ BCP_NextPhaseNode_Infeas
static int num_remote_nodes
bool send()
return true or false depending on whether the node was really sent out or it's still waiting for some...
void enumerate_leaves(BCP_tm_node *node, const double obj_limit)
int mark_descendants_for_deletion()
iterator begin()
Return an iterator to the beginning of the object.
void push_back(const_reference x)
Append x to the end of the vector.
@ BCP_PrunedNode_Discarded
double true_lower_bound(const BCP_tm_node *node) const
Return the worst true lower bound in the search tree.
const BCP_tm_node * child(int ind) const
BCP_vec< BCP_tm_node * >::iterator end()
void remove_child(BCP_tm_node *node)
bool receive_vars(BCP_buffer &buf)
return true if has everything to send the thing off to the LP.
void increase_processed()
void reserve(const size_t n)
Reallocate the object to make space for n entries.
static int num_local_nodes
void insert(BCP_tm_node *node)
BCP_vec< BCP_tm_node * > _children
BCP_tm_node * child(int ind)
iterator end()
Return an iterator to the end of the object.
bool receive_node_desc(BCP_buffer &buf)
return true if has everything to send the thing off to the LP.
This class describes the message buffer used for all processes of BCP.
BCP_tm_node * operator[](int index)
const BCP_tm_node * parent() const
void reserve_child_num(int num)
BCP_tm_node_to_send(BCP_tm_prob &p, const BCP_tm_node *node, const BCP_message_tag tag)
This class stores data about how an object set (set of vars or set of cuts) changes.