Enumeration is Hopeless: The Size of the Integer Search Space
Why brute-force enumeration of integer feasible solutions fails on all but trivially small problems. We count the size of the integer search space for binary and bounded-integer variables, translate that count into wall-clock time at a given evaluation rate, and use these tools to see how quickly the budget collapses — motivating branch and bound.
Tutorial
Why We Cannot Just Enumerate
After relaxing an integer program to its LP, we can solve the relaxation efficiently — but the optimum is typically fractional. A naive way to recover the true integer optimum is to enumerate every integer point in the feasible box and pick the best. This strategy fails catastrophically: the number of integer points grows exponentially in the number of variables.
The cleanest illustration is the binary case. An integer program with variables, each taking value or , has
candidate solutions. Even modest produces astronomical counts:
At we already have a billion candidates; at , exceeds the number of seconds since the Big Bang. This is the motivation for branch and bound: we must search the integer space without visiting every point.