09A On The History of The Shortest Path Problem
09A On The History of The Shortest Path Problem
155
Alexander Schrijver
It is difficult to trace back the history of the shortest path problem. One can
imagine that even in very primitive (even animal) societies, finding short paths
(for instance, to food) is essential. Compared with other combinatorial opti-
mization problems, like shortest spanning tree, assignment and transportation,
the mathematical research in the shortest path problem started relatively late.
This might be due to the fact that the problem is elementary and relatively
easy, which is also illustrated by the fact that at the moment that the problem
came into the focus of interest, several researchers independently developed
similar methods.
Yet, the problem has offered some substantial difficulties. For some consider-
able period heuristical, nonoptimal approaches have been investigated (cf. for
instance Rosenfeld [1956], who gave a heuristic approach for determining an
optimal trucking route through a given traffic congestion pattern).
Path finding, in particular searching in a maze, belongs to the classical graph
problems, and the classical references are Wiener [1873], Lucas [1882] (describ-
ing a method due to C.P. Trémaux), and Tarry [1895] – see Biggs, Lloyd, and
Wilson [1976]. They form the basis for depth-first search techniques.
Path problems were also studied at the beginning of the 1950’s in the con-
text of ‘alternate routing’, that is, finding a second shortest route if the shortest
route is blocked. This applies to freeway usage (Trueblood [1952]), but also to
telephone call routing. At that time making long-distance calls in the U.S.A.
was automatized, and alternate routes for telephone calls over the U.S. tele-
phone network nation-wide should be found automatically. Quoting Jacobitti
[1955]:
Shortest-length paths
choose an arc (u, v) with d(v) > d(u) + l(u, v) and reset d(v) := d(u) + l(u, v).
(1)
If no such arc exists, d is the distance function.
The difference in the methods is the rule by which the arc (u, v) with d(v) >
d(u) + l(u, v) is chosen. The Bellman-Ford method consists of considering all
arcs consecutively and applying (1) where possible, and repeating this (at most
|V | rounds suffice). This is the method described by Shimbel [1955], Bellman
[1958], and Moore [1959].
Dijkstra’s method prescribes to choose an arc (u, v) with d(u) smallest (then
each arc is chosen at most once, if the lengths are nonnegative). This was
described by Leyzorek, Gray, Johnson, Ladew, Meaker, Petry, and Seitz [1957]
and Dijkstra [1959]. A related method, but slightly slower than Dijkstra’s
method when implemented, was given by Dantzig [1958], and chooses an arc
(u, v) with d(u) + l(u, v) smallest.
Parallel to this, a number of further results were obtained on the shortest
path problem, including a linear programming approach and ‘good characteri-
zations’. We review the articles in a more or less chronological order.
Shimbel 1955
The paper of Shimbel [1955] was presented in April 1954 at the Symposium
on Information Networks in New York. Extending his matrix methods for
unit-length shortest paths, he introduced the following ‘min-sum algebra’:
Arithmetic
For any arbitrary real or infinite numbers x and y
x + y ≡ min(x, y) and
xy ≡ the algebraic sum of x and y.
Orden [1955] observed that the shortest path problem is a special case of a
transshipment problem (= uncapacitated minimum-cost flow problem), and
hence can be solved by linear programming. Dantzig [1957] described the
following graphical procedure for the simplex method applied to this problem.
Let T be a rooted spanning tree on {1, . . . , n}, with root 1. For each i =
1, . . . , n, let ui be equal to the length of the path from 1 to i in T . Now if
uj ≤ ui + di,j for all i, j, then for each i, the 1 − i path in T is a shortest path.
If uj > ui + di,j , replace the arc of T entering j by the arc (i, j), and iterate
with the new tree. Pn
Trivially, this process terminates (as j=1 uj decreases at each iteration, and
as there are only finitely many rooted trees). Dantzig illustrated his method
by an example of sending a package from Los Angeles to Boston. (Edmonds
[1970] showed that this method may take exponential time.)
In a reaction to the paper of Dantzig [1957], Minty [1957] proposed an ‘analog
computer’ for the shortest path problem:
Build a string model of the travel network, where knots represent
cities and string lengths represent distances (or costs). Seize the
knot ‘Los Angeles’ in your left hand and the knot ‘Boston’ in your
right and pull them apart. If the model becomes entangled, have an
assistant untie and re-tie knots until the entanglement is resolved.
Eventually one or more paths will stretch tight – they then are
alternative shortest routes.
Dantzig’s ‘shortest-route tree’ can be found in this model by weight-
ing the knots and picking up the model by the knot ‘Los Angeles’.
It is well to label the knots since after one or two uses of the model
their identities are easily confused.
A similar method was proposed by Bock and Cameron [1958].
Ford 1956
Ford showed that the method terminates. It was shown however by Johnson
[1973a, 1973b, 1977] that Ford’s liberal rule can take exponential time.
The correctness of Ford’s method also follows from a result given in the
book Studies in the Economics of Transportation by Beckmann, McGuire, and
Winsten [1956]: given a length matrix (li,j ), the distance matrix is the unique
matrix (di,j ) satisfying
It was noticed by Robacker [1956] that shortest paths allow a theorem dual to
Menger’s theorem: the minimum length of an P0 − Pn path in a graph N is
equal to the maximum number of pairwise disjoint P0 − Pn cuts. In Robacker’s
words:
The shortest path problem was also investigated by a group of researchers at the
Case Institute of Technology in Cleveland, Ohio, in the project Investigation
of Model Techniques, performed for the Combat Development Department of
the Army Electronic Proving Ground. In their First Annual Report, Leyzorek,
Gray, Johnson, Ladew, Meaker, Petry, and Seitz [1957] presented their results.
First, they noted that Shimbel’s method can be speeded up by calculating S k
by iteratively raising the current matrix to the square (in the min-sum matrix
algebra). This solves the all-pairs shortest path problem in time O(n3 log n).
Next, they gave a rudimentary description of a method equivalent to Dijk-
stra’s method. We quote:
(1) All the links joined to the origin, a, may be given an outward
orientation. [. . . ]
(2) Pick out the link or links radiating from a, aaα , with the small-
est delay. [. . . ] Then it is impossible to pass from the origin to
any other node in the network by any “shorter” path than aaα .
Consequently, the minimal path to the general node α is aaα .