The Branch-and-Bound Tree
Introduces the branch-and-bound search tree for solving integer programs: nodes as LP subproblems, the three pruning rules (infeasibility, integrality, bound), tracking the incumbent and global bound, and walking through complete maximization and minimization trees.
Tutorial
The Branch-and-Bound Tree
Branch-and-bound (B&B) solves an integer program (IP) by exploring a tree of LP relaxations. Each node of the tree corresponds to a subproblem: the original IP together with the bound constraints inherited from every branching decision on the path from the root.
- The root node is the LP relaxation of the original IP (no extra constraints).
- Each non-root node is created by branching on a fractional variable in its parent.
- A node whose LP relaxation has fractional value spawns two children:
- the down child adds
- the up child adds
Each node is labeled with its LP optimal value (the node bound) and its LP solution. The set of nodes still waiting to be processed is the active list.
For instance, if the root LP of a maximization IP yields with fractional, branching on produces two children:
The root is then closed; and replace it on the active list.