Every day, airlines decide which crews fly which routes, chip designers pack millions of transistors onto silicon, and logistics companies route thousands of delivery trucks. All of these are integer programs: optimization problems where the decision variables must be whole numbers — you can't assign 0.7 of a crew member.
Integer programming is NP-hard in general. Brute-force enumeration over all possible assignments is hopeless for any realistically sized problem. Yet commercial solvers like CPLEX, Gurobi, and SCIP routinely crack problems with millions of variables in minutes. Their secret is branch-and-cut.
Branch-and-cut is not an approximation. It finds the provably optimal integer solution, or proves none exists. It does this by interleaving two classical ideas — a search tree that splits on fractional variables, and cutting planes that slice away fractional space without removing any integer point. Together, they shrink the search so aggressively that the exponential worst case rarely bites in practice.
Comments
Loading comments...