A linear program can have more variables than atoms in the observable universe. Listing them all â let alone handing them to a solver â is hopeless. Yet some of the most important optimization problems in the world (airline crew schedules, truck routes, cutting patterns) have exactly this shape.
Column generation is the trick that makes them tractable. The idea is brutally simple: instead of writing down every variable, you start with a tiny handful, solve the small problem optimally, and then ask a clever question â is there any variable I left out that could still improve the solution? If yes, add it and re-solve. If no, you are done; the small solution is already globally optimal.
The "clever question" is itself an optimization problem called the pricing subproblem. Its output is a single new column (variable) that, if it exists, has the best chance of reducing cost. The loop â solve the restricted LP, price a new column, add it, repeat â is the column generation algorithm, introduced by Gilmore and Gomory in 1961 for cutting-stock problems and later unified by Dantzig and Wolfe's decomposition principle.
The payoff is dramatic: problems with trillions of variables are solved with a few hundred columns in practice.
Comments
Loading comments...