DYNAMIC PROGRAMMING ALGORITHM
187
problem of the previous section, but is unlikely to occur in most networks. If
some of the
K
paths begin on the same arc or set or arcs, the requirements
for the new algorithm are considerably less. Even in the worst case, the new
algorithm remains computationally competitive to HPD with heaps and at
least
as
good
as
HP and HPD without heaps.
The new algorithm requires significantly less storage than HP or either
implementation of HPD. HP must store the original node labels, an ordered
list of unused deviations, and the actual
K
paths (each of length
No
5).
HPD
without heaps must store a set of arc labels, the original node labels, and any
additional node labels along each path of
NO5
nodes. HPD with heaps must
store the arc labels and
a
heap of size
R
at each node
N.
The new algorithm stores the original node labels and may require a stack
of height
K.
The stack could become as large
as
the product of the average
number of arcs in a path and the average number of arcs emanating from a
node.
This
maximum height would only occur if K is greater than this
product, a situation which is highly unlikely. For reasonable K, the stack
length is neghgible in comparison with storing the original node labels. In
addition, since some near-optimal paths usually share beginning arcs, the
requirements are considerably less. The key feature of the new algorithm
remains its minimal storage requirements.
CONCLUSION
-
The new algorithm is easy to understand and install, which increases the
likelihood of successful implementation and subsequent user acceptance.
Only the backtracking or traceback procedure of a previously installed
shortest path problem need be modified, leaving the major component of the
model unaffected.
As
described in the introduction, Kth best path methods
are inadequate to solve most practical problems, while the new technique is
practical for many of these problems.
Although the set of near-optimal solutions can be very large, it may
contain information that is
of
interest. Frequently, the algorithm gives a
sequence of paths where the (structural) differences between adjacent paths is
small. In this situation, only every Mth path, say, need output to the user. In
some situations, it will be possible to only produce every Mth path and
reduce the running time accordingly. These problems can only be resolved in
specific cases by careful consideration of the dynamic programming problem
and the corresponding space of near-optimal solutions.
REFERENCES
1
2
R. Bellman and R. Kalaba,
On
Kth best policies,
J.
SlAM
8:582-588
(1960).
T. H. Byers and M.
S.
Waterman, Determining all optimal and near optimal solutions
when solving shortest path problems by dynamic programming,
Oper.
Res.
32
:
1381
-
1384 (1984).