BRANCH & BOUND

Exact integer optimization via systematic tree search

6
4
Branch & Bound solves integer programming by building a search tree where each branch fixes a variable to 0 or 1. At each node, a relaxed LP bound estimates the best achievable value — if this bound is worse than the current best integer solution, the entire subtree is pruned. The algorithm alternates between branching (splitting on a fractional variable) and bounding (solving relaxations). This guarantees optimality while avoiding exhaustive enumeration. The pruned nodes (red) show how much of the search space is eliminated — often exponentially reducing computation compared to brute force.