
138 DUALITY
5.5 NOTES & SELECTED BIBLIOGRAPHY
As noted in this chapter, associated with every linear programming problem is another
linear programming problem called the dual. The fundamental notion of duality and the
term were introduced by John von Neumann (in conversations with George Dantzig in
October 1947) and appear implicitly in a working paper he wrote a few weeks later (von
Neumann [1947]). George Dantzig’s report, A Theorem on Linear Inequalities, dated 5
January 1948, contains the first known rigorous (unpublished) proof of the Duality The-
orem. Subsequently Gale, Kuhn, & Tucker [1951] independently formulated the Duality
Theorem, which they proved by means of a classical lemma due to Farkas [1902]. This the-
orem, known as Farkas’s Lemma (see Linear Programming 2), first appeared as a lemma
in Farkas’s 1902 paper. A constructive proof of the Duality Theorem using the Simplex
Method can be found in Dantzig [1963]. J. Abadie in verbal communications [1965] with
one of the authors showed how to use the Infeasibility Theorem to prove von Neumann’s
Strong Duality Theorem. We shall formally prove the Duality Theorem in Linear Pro-
gramming 2, using the Infeasibility Theorem 2.3.
It was Tobias Dantzig, mathematician and author, well known for his books popular-
izing the history of mathematics, who suggested around 1955 to his son George the term
primal as the natural antonym to dual since both primal and dual derive from the Latin.
A systematic presentation of theoretical properties of dual linear programs can be
found in Gale [1956] and Goldman & Tucker [1956a,b]. A review of von Neumann’s
contributions can be found in Kuhn & Tucker [1958]. Today everyone cites von Neumann as
the originator of the Duality Theorem and credits Gale, Kuhn, & Tucker as the publishers
of the first rigorous proof.
As already noted, there are several important duality-type results, known as “Either
Or” theorems of the alternatives, that predate the linear programming era: Farkas [1902],
Gordan [1873], Motzkin [1936], Stiemke [1915], and Ville [1938]. The earliest known result
on feasibility is one concerning homogeneous systems, Gordan [1873]: “Either a linear
homogeneous system of equations Ax = 0 possesses a nontrivial solution in nonnegative
variables or there exists an equation, formed by taking some linear combination of the
equations, that has all positive coefficients.”
A natural question to ask is why not use the classical method of Lagrange multipliers
to solve the linear programming problem. If we were to do so we would be required to
find optimal multipliers (or prices π), which, if they exist, must satisfy a “dual” system
with the property that the ¯c
j
(or relative cost factors) and optimal x
j
satisfy ¯c
j
x
j
= 0 for
j =1,...,n. The latter leads to 2
n
possible cases of either ¯c
j
=0orx
j
= 0. It is here that
this classical approach breaks down, for it is not practical to consider all 2
n
possible cases
for large n. In a certain sense, however, the Simplex Method can be viewed as a systematic
way to eliminate most of these cases and to consider only a few. Indeed, it immediately
restricts the number of cases by considering only those with n − m of the x
j
= 0 at one
time and such that the coefficient matrix of the remaining m variables is nonsingular;
moreover, the unique value of these variables is positive (under nondegeneracy). The
conditions ¯c
j
x
j
= 0 tell us that ¯c
j
= 0 for x
j
> 0 and this determines uniquely π
i
and the
remaining ¯c
j
. If it turns out that not all ¯c
j
≥ 0, the case is dropped and a special new one
is examined on the next iteration, and so on.