Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

BCP_tree Class Reference

#include <BCP_tm_node.hpp>

List of all members.

Public Member Functions

Constructor and destructor
Query methods
BCP_vec< BCP_tm_node
* >::iterator 
begin ()
BCP_vec< BCP_tm_node
* >::iterator 
end ()
BCP_tm_noderoot ()
BCP_tm_nodeoperator[] (int index)
size_t size () const
int maxdepth () const
Modifying methods
double true_lower_bound (const BCP_tm_node *node) const
void enumerate_leaves (BCP_tm_node *node, const double obj_limit)
void insert (BCP_tm_node *node)

Private Attributes

BCP_vec< BCP_tm_node * > _tree
int maxdepth_


Detailed Description

NO OLD DOC

Definition at line 199 of file BCP_tm_node.hpp.


Member Function Documentation

double BCP_tree::true_lower_bound const BCP_tm_node node  )  const
 

Return the worst true lower bound in the search tree

Definition at line 74 of file BCP_tm_node.cpp.

References BCP_tm_node::_children, BCP_vec< BCP_tm_node * >::begin(), BCP_tm_node::child_num(), BCP_vec< BCP_tm_node * >::end(), BCP_tm_node::status, and BCP_tm_node::true_lower_bound().

00075 {
00076   double worstlb = DBL_MAX;
00077   if (node->child_num() == 0) {
00078     const BCP_tm_node_status st = node->status;
00079     if (st == BCP_ActiveNode || st == BCP_CandidateNode)
00080       worstlb = node->true_lower_bound();
00081   } else {
00082     BCP_vec<BCP_tm_node*>::const_iterator child;
00083     BCP_vec<BCP_tm_node*>::const_iterator lastchild = node->_children.end();
00084     for (child = node->_children.begin(); child != lastchild; ++child) {
00085       const double childlb = true_lower_bound(*child);
00086       if (childlb < worstlb)
00087         worstlb = childlb;
00088     }
00089   }
00090   return worstlb;
00091 }


The documentation for this class was generated from the following files:
Generated on Wed Dec 3 14:32:42 2003 for BCP by doxygen 1.3.5