Imagine a linear program with millions of variables but a special structure: most constraints involve only a small, independent block of variables, while a handful of linking constraints tie everything together. Solving it directly drowns any solver in columns.
In 1960, George Dantzig and Philip Wolfe found an elegant escape. Their decomposition principle rewrites the monster LP as a master problem over convex combinations of block-feasible points, then iteratively asks each block: "Can you produce a point that would improve the master?" Those points are columns generated on demand — you never enumerate the full variable space.
The trick is the reduced cost: a candidate column is worth adding only when its reduced cost is negative (for minimization). Computing that reduced cost is exactly the subproblem. If every subproblem returns a non-negative reduced cost, the current master solution is already LP-optimal — no further columns can help.
The algorithm was published in Operations Research vol. 8 (1960) and has been the engine behind airline crew scheduling, railway planning, and integer-programming branch-and-price ever since.
Comments
Loading comments...