Linear programming (LP) is one of the most useful tools in all of optimization: given a set of linear inequalities and a linear objective, find the point that satisfies all the constraints and maximizes (or minimizes) the goal. It models everything from factory schedules to diet plans.
The general LP problem with n constraints and d variables was long known to be solvable in polynomial time — the simplex method is fast in practice, and the ellipsoid method proved polynomial complexity in 1979. But could small-dimensional LP be dramatically faster?
In 1984, Nimrod Megiddo answered yes. His prune-and-search algorithm solves LP in the plane — n linear constraints, objective along a line — in time. No other approach had cracked the linear barrier for LP. The result was one of the first to show that the hard cases of polynomial-time problems can sometimes collapse to linear time when the dimension is held fixed.
The idea is elegant: instead of testing the optimum directly, pair up constraints, use each pair to prune half of the remaining candidates in constant time, and recurse on the surviving half. Each level of recursion halves the problem, so only levels are needed — each costing — giving total after a careful implementation.
Comments
Loading comments...