Branch-and-Bound¶
Definition¶
Branch-and-bound solves an integer program by solving LP relaxations of subproblems, splitting subproblems when restricted variables are fractional, and discarding subproblems whose bounds cannot improve the best feasible integer solution. If is fractional, branch into
For a binary variable these branches fix it to 0 and 1.
Interpretation¶
Branch-and-bound finds the best integer solution by divide and conquer. It splits the problem into subproblems whose integer solutions together are exactly those of the original, and uses LP relaxations, ordinary linear programs, to decide which subproblems are still worth exploring.
The tree belongs to the model with and from the pure integer program page. The root relaxation gives with bound . Branching on gives nodes with bounds and . Under , branching on gives the integer point with , the first incumbent, and an infeasible node, since contradicts . The node has bound , so it must still be explored; it contains no integer point better than , so is optimal.
The branches and , built with the floor and ceiling functions, together keep every point with integer and remove only the strip , which contains the fractional optimum. So no integer solution is lost, and that fractional point cannot reappear. Each relaxation bounds every integer solution below its node, and the pruning rules close nodes that cannot help.
An integer solution found early is a candidate, not yet the answer: the search ends only when every open node is pruned. The order of exploring nodes changes the amount of work, not the optimum finally proved.
Key Results¶
- Carry all ancestor branching constraints into each child.
- Prune for infeasibility, an integral relaxed optimum, or an uncompetitive bound.
- Continue until every remaining possibility is resolved or bounded by the incumbent.
- Branching choices affect the work required but not the correctly proven optimum.
Examples¶
The figure branches on , giving or .
- A fractional value yields branches and .
- The development-project model has optimum 3.4; recompute the LP relaxation at each node rather than copying intermediate values.
Prerequisites¶
Related Concepts¶
Sources¶
- OR Modelling · Week 3
Aliases: B&B, branch and bound
Last updated: 20 October 2026 03:02
Branch-and-BoundBranch-and-Bound PruningIncumbent SolutionLP RelaxationOptimization BoundsFloor and Ceiling Functions