Node Selection: Best-First, Depth-First, Best-Estimate
How a branch-and-bound solver chooses the next open node to process, comparing the three standard strategies: best-first (smallest LP bound), depth-first (deepest node), and best-estimate (smallest pseudocost-based prediction).
Tutorial
Node Selection and Best-First
After branching, a solver typically has many open nodes waiting to be processed. The rule for deciding which one to process next is called the node selection strategy. The choice affects how fast the solver tightens its global bound, how fast it finds feasible integer solutions, and how much memory it uses.
Consider a minimization MILP. Every open node carries an LP relaxation value which is a lower bound on the integer optimum over the subtree rooted at The global lower bound is the minimum of these values over the set of open nodes:
Best-first (also called best-bound) node selection picks the open node attaining this minimum:
The motivation: that node is the one currently holding down, so processing it has the greatest potential to raise the global bound and close the optimality gap.
For example, if the open nodes have LP bounds best-first selects the node with bound