Outline of An Algorithm For Integer Solutions To Linear Programs and An Algorithm For The Mixed Integer Problem
Outline of An Algorithm For Integer Solutions To Linear Programs and An Algorithm For The Mixed Integer Problem
Outline of An Algorithm For Integer Solutions To Linear Programs and An Algorithm For The Mixed Integer Problem
Ralph E. Gomory
Later in 1957, as the end of my three-year tour of duty in the Navy was approach-
ing, Princeton invited me to return as Higgins Lecturer in Mathematics. I had been
a Williams undergraduate and a then a graduate student at Cambridge and Princeton
while getting my Ph.D. I had published 4 papers in non-linear differential equations,
a subject to which I had been introduced by two wonderful people whose support
and encouragement made an unforgettable and wonderful difference in my life: Pro-
fessor Donald Richmond of Williams College and Professor Solomon Lefschetz of
Princeton.
Because of my interest in applied work I had planned to look for an industrial
position rather than an academic one on leaving the Navy, but I decided instead
to accept this attractive offer and spend a year or two at Princeton before going
on. When I returned to Princeton late in the fall of 1957, I got to know Professor
A. W. Tucker, then the department head, who was the organizer and prime mover
of a group interested in game theory and related topics. This group included Harold
Kuhn and Martin (E. M. L.) Beale.
As the Navy had kept me on as a consultant I continued to work on Navy prob-
lems through monthly trips to Washington. On one of these trips a group presented
a linear programming model of a Navy Task Force. One of the presenters remarked
that it would be nice to have whole number answers as 1.3 aircraft carriers, for
example, was not directly usable.
I thought about his remark and determined to try inventing a method that would
produce integer results. I saw the problem as clearly important, indivisibilities are
everywhere, but I also thought it should be possible. My view of linear programming
was that it was the study of systems of linear inequalities and that it was closely anal-
Ralph E. Gomory
Alfred P. Sloan Foundation, New York, USA
e-mail: gomory@sloan.org
rows I was creating seemed to have a lot of special properties, all of which were
explained later in terms of the factor group.
Just at this time I ran into Martin Beale in the hall. He was looking for a speaker
for the seminar we had on game theory and linear programming. I said I would be
glad to give a talk on solving linear programs in integers. Martin said “but that’s
impossible.” That was my first indication that others had thought about the problem.
During the exciting weeks that followed, I finally worked out a finiteness proof and
then programmed the algorithm on the E101, a pin board computer that was busy
during the day but that I could use after midnight. The E101 had only about 100
characters of memory and the board held only 120 instructions at one time, so that I
had to change boards after each simplex maximization cycle and put in a new board
that generated the cut, and then put the old board back to re-maximize. It was also
hard work to get the simplex method down to 120 E101 instructions. But the results
were better and more reliable than my hand calculations, and I was able to steadily
and rapidly produce solutions to four- and five-variable problems.
During these weeks I learned that others had thought about the problem and that
George Dantzig had worked on the traveling salesman problem and had applied spe-
cial handmade cuts to that problem. Professor Tucker, who was enormously helpful
to me during my entire stay at Princeton, gave me the time he had for himself on
the program of a mathematical society meeting. There early in 1958 I made the first
public presentation of the cutting plane algorithm. This produced a great deal of
reaction, many people wrote to me, and Rand Corporation invited me to come out
to California for the summer.
In the summer of 1958 I flew west to Los Angeles, where Rand was located, car-
rying the first edition of the manual for Fortran, then a brand new language. I spent
one month at Rand and succeeded in producing a working Fortran version of the
algorithm for the IBM 704. During my stay at Rand, I renewed my acquaintance of
graduate student days with Lloyd Shapley and with Herb Scarf and met for the first
time George Dantzig, Dick Bellman, and Phil Wolfe. Phil, already well known for
his work on quadratic programming, generously took on the assignment of orienting
me during my visit at Rand. He helped me in every conceivable way.
The Fortran program seemed to be debugged about two days before I left Rand
so I was able to do larger examples. Larger meant something like ten to fifteen vari-
ables. Most of these problems ran quickly, but one went on and on and producing
reams of printout but never reaching a final answer. I thought at the time that per-
haps there were still bugs left in the program, but in fact it was the first hint of the
computational problems that lay ahead.
It seems likely that it was during that summer that I worked out the mixed integer
method, which I never sent in to a journal but appeared later as a Rand report. At the
time I regarded it as a pretty straightforward extension of the original cutting plane
method. Having done so many hand problems I was aware that, despite its obvious
strengths in some of its computational detail it lacked some attractive properties
of the all integer calculation. However at this late date I am quite reconciled to
the mixed integer cut by (1) its computational success in a world of larges scale
computing and (2) a rather recent result in which I have shown that it provides the
80 Ralph E. Gomory
only facet for the one dimensional corner polyhedron problem that is a facet both
for the continuous and for the integer variables case. This finally locates the mixed
cutting plane in its proper theoretical setting.
4 Algorithms for Integer Programming 81
82 Ralph E. Gomory