The Hungarian method for the assignment problem

This paper has always been one of my favorite “children,” combining as it does elements of the duality of linear programming and combinatorial tools from graph theory. It may be of some interest to tell the story of its origin. I spent the summer of 1953 at the Institute for Numerical Analysis which was housed on the U.C.L.A. campus. I was supported by the National Bureau of Standards and shared an office with Ted Motzkin, a pioneer in the theory of inequalities and one of the most scholarly mathematicians I have ever known. I had no fixed duties and spent the summer working on subjects that were of interest to me at the time, such as the traveling salesman problem and the assignment problem. The Institute for Numerical Analysis was the home of the SWAC (Standards Western Automatic Computer), which had been designed by Harry Huskey and had a memory of 256 words of 40 bits each on 40 Williamson tubes. The formulation of the assignment problem as a linear program was well known, but a 10 by 10 assignment problem has 100 variables in its primal statement and 100 constraints in the dual and so was too large for the SWAC to solve as a linear program. The SEAC (Standard Eastern Automatic Computer), housed in the National Bureau of Standards in Washington, could solve linear programs with about 25 variables and 25 constraints. The SEAC had a liquid mercury memory system which was extremely limiting. During that summer, I was reading König’s book on graph theory. I recognized the following theorem of König to be a pre-linear programming example of duality: If the numbers of a matrix are 0’s and 1’s, then the minimum number of rows and columns that will contain all of the 1’s is equal to the maximum number of 1’s that can be chosen, with no two in the same row or column.