Chapter I
Planning
Optimisation problems came from planning. In 1939 the Leningrad plywood trust asked Leonid Kantorovich how to divide work among its machines to produce the most. He saw that the question, and many like it, meant maximising a linear quantity subject to linear constraints. In 1947 George Dantzig, planning logistics for the US Air Force, reached the same formulation independently and invented the simplex method to solve it. The method walks from corner to corner of a many-sided region, improving at each step. It was soon running on the first commercial computers.
Kantorovich's work was met with suspicion at home, since it attached prices to resources in a planned economy, but he later shared the 1975 Nobel memorial prize in economics. Dantzig did not, although for many the simplex method is his monument.
Chapter II
Networks
At the RAND Corporation in 1955, a study of how much freight the Soviet railway network could carry to Eastern Europe posed a question about flow through a network. Lester Ford and Delbert Fulkerson answered it in 1956: the maximum flow equals the capacity of the narrowest cut. At about the same time Edsger Dijkstra, demonstrating a new computer in Amsterdam, needed a problem the public could understand. He chose finding the shortest route between Dutch cities and designed his algorithm in twenty minutes.
In 1965 Jack Edmonds solved the matching problem for general networks, and in doing so proposed that "efficient" should mean polynomial time. That proposal became the foundation of computational complexity. When Richard Karp showed in 1972 that the travelling salesman problem and many other optimisation problems are NP-complete, the field divided: some problems have fast exact algorithms, and the rest need approximations or careful search.
Chapter III
A Closer Look: The Narrowest Cut
A small network carries water from a source to a sink through two junctions, and . Each pipe has a capacity:
| Pipe | Capacity |
|---|---|
| 3 | |
| 2 | |
| 1 | |
| 2 | |
| 3 |
How much can flow from to ? Push 2 units along , 2 along , and 1 along . Every pipe stays within its capacity ( carries 3, carries 3), and 5 units arrive.
Can more get through? Draw a line around alone. Everything leaving it must pass through or , whose capacities add to . No flow can exceed that. A set of pipes whose removal disconnects from is a cut, and no flow can exceed any cut's capacity. Here a flow of 5 matches a cut of 5, so both are optimal, and each proves the other is the best possible.
Ford and Fulkerson proved that this always happens: in every network, the maximum flow equals the minimum cut, and their algorithm finds both. The two are a matching pair of problems, one maximising and one minimising, with the same answer. That duality runs through all of linear programming, and it is what lets optimisation software certify that an answer is optimal rather than just good.
Chapter IV
Hard Problems, Good Answers
For NP-hard problems, the goal became guaranteed approximation. In 1976 Nicos Christofides, and independently Anatoliy Serdyukov, found a method that finds a travelling-salesman tour at most 50% longer than the shortest. For 44 years that was the best guarantee known, until Anna Karlin, Nathan Klein and Shayan Oveis Gharan improved it in 2020 by a fraction of about . In practice, exact methods do much better than the guarantees suggest: in 2006 an optimal tour through 85,900 locations was found and proved optimal.
Linear programming itself was proved efficient in 1979 by Leonid Khachiyan. Whether it can be solved in a number of steps independent of the size of its numbers is still open.