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;
Coin::SmartPtr< BCP_user_data > _user
static int num_remote_nodes
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.
int mark_descendants_for_deletion()
static std::map< int, BCP_tm_node_to_send * > waiting
bool receive_cuts(BCP_buffer &buf)
return true if has everything to send the thing off to the LP.
BCP_tm_node_data(BCP_node_change *d=NULL)
void increase_processed()
void push_back(const_reference x)
Append x to the end of the vector.
void insert(BCP_tm_node *node)
const BCP_tm_node * parent() const
This class describes the message buffer used for all processes of BCP.
bool send()
return true or false depending on whether the node was really sent out or it's still waiting for some...
BCP_message_tag
This enumerative constant describes the message tags different processes of BCP understand.
BCP_vec< BCP_tm_node * >::iterator end()
const BCP_tm_node * child(int ind) const
BCP_tm_node_status status
BCP_tm_node * child(int ind)
bool receive_vars(BCP_buffer &buf)
return true if has everything to send the thing off to the LP.
static int num_local_nodes
void new_child(BCP_tm_node *node)
void reserve(const size_t n)
Reallocate the object to make space for n entries.
iterator end()
Return an iterator to the end of the object.
Coin::SmartPtr< BCP_node_change > _desc
BCP_tm_node_status
Node status in the Tree Manager.
BCP_vec< BCP_tm_node * > _children
BCP_tm_node * operator[](int index)
size_t size() const
Return the current number of entries.
void reserve_child_num(int num)
reference front()
Return a reference to the first entry.
iterator begin()
Return an iterator to the beginning of the object.
BCP_vec< BCP_tm_node * >::iterator begin()
double true_lower_bound(const BCP_tm_node *node) const
Return the worst true lower bound in the search tree.
void remove_child(BCP_tm_node *node)
bool receive_node_desc(BCP_buffer &buf)
return true if has everything to send the thing off to the LP.
void enumerate_leaves(BCP_tm_node *node, const double obj_limit)