10
Decomposition Algorithms for Finding the Shortest Path Between a Source Node and a Sink Node of a Network Suleyman Tufekci Department of Industrial and Systems Engineering, University of Florida, Gainesville, Florida 3261 I Decomposition algorithms for finding a shortest path between a source node and a sink node of an arbitrary distance network are developed. Different decomposition algorithms are proposed for different network topologies. Since Shier’s algorithm compares very favorably with other decomposition algorithms in all the network topologies, we compare our algorithms against Shier’s algorithm. It is shown that the efficiency of the proposed algorithms compares very favorably with Shier’s algorithm. For special types of networks the computational requirements of the proposed algorithm is a polynomial of O(nZ). 1. INTRODUCTION The study of finding the shortest paths between a source node and all other nodes, or between every pair of nodes, in a directed network, has been extensive [1,3- 7,13,15,16,18,20,21,23,24]. Special decomposition algorithms have been proposed for shortest-path problems on large-scale sparse networks [2,8-10,12,14,17,19,22]. In most of these algorithms shortest paths are obtained between a source node and all the other nodes or between every pair of nodes. Different decomposition principles are proposed for the decomposition of the node set of the original network. When each node subset is viewed as a single node and arcs between two adjacent node sets are viewed as a single undirected arc the resultant graph may be a path, a tree, a star, or another arbitrary connected graph (see Fig. 1). Land and Stairs [ 141 took advantage of star-shaped networks. The decomposition procedure proposed by Hu [9,10] is suitable for networks with path structure (linear networks). Shier [ 171 proposed a decomposition procedure for tree-structured networks. Furthermore, he indicated that star-shaped networks and linear networks are two sub- classes of tree-structured networks. Glover, Klingman, and Napier [8] suggested a decomposition procedure which also takes advantage of the linear structure of a net- work. However, the procedure may sometimes produce very few subnetworks or even no decomposition at all. Brucker [2] gave a decomposition procedure for networks with many strongly connected components. The decomposition procedure produces a linear structure. In this article we propose a decomposition algorithm which finds the shortest distance between a source and a sink node. Section 2 introduces the procedure for partitioning the node set of a network into subsets with path structure. Section 3 gives the algo- rithmic procedures for determining the shortest distance between a source and a sink node for different network structures. The computational complexities of the proposed algorithms are presented in Section 4. These efficiencies are also compared with similar decomposition algorithms. Section 5 gives the conclusion of this work. Naval Research Logistics Quarterly, Vol. 30, pp. 387-396 (1983) Copyright 0 1983 by John Wiley & Sons, Inc. CCC 0028-1441 /83/030387-10$02.00

Decomposition algorithms for finding the shortest path between a source node and a sink node of a network

Embed Size (px)

Citation preview

Decomposition Algorithms for Finding the Shortest Path Between a Source Node and a Sink Node of a Network

Suleyman Tufekci Department of Industrial and Systems Engineering, University of Florida,

Gainesville, Florida 3261 I

Decomposition algorithms for finding a shortest path between a source node and a sink node of an arbitrary distance network are developed. Different decomposition algorithms are proposed for different network topologies. Since Shier’s algorithm compares very favorably with other decomposition algorithms in all the network topologies, we compare our algorithms against Shier’s algorithm. It is shown that the efficiency of the proposed algorithms compares very favorably with Shier’s algorithm. For special types of networks the computational requirements of the proposed algorithm is a polynomial of O(nZ).

1. INTRODUCTION

The study of finding the shortest paths between a source node and all other nodes, or between every pair of nodes, in a directed network, has been extensive [1,3- 7,13,15,16,18,20,21,23,24]. Special decomposition algorithms have been proposed for shortest-path problems on large-scale sparse networks [2,8-10,12,14,17,19,22]. In most of these algorithms shortest paths are obtained between a source node and all the other nodes or between every pair of nodes.

Different decomposition principles are proposed for the decomposition of the node set of the original network. When each node subset is viewed as a single node and arcs between two adjacent node sets are viewed as a single undirected arc the resultant graph may be a path, a tree, a star, or another arbitrary connected graph (see Fig. 1). Land and Stairs [ 141 took advantage of star-shaped networks. The decomposition procedure proposed by Hu [9,10] is suitable for networks with path structure (linear networks). Shier [ 171 proposed a decomposition procedure for tree-structured networks. Furthermore, he indicated that star-shaped networks and linear networks are two sub- classes of tree-structured networks. Glover, Klingman, and Napier [8] suggested a decomposition procedure which also takes advantage of the linear structure of a net- work. However, the procedure may sometimes produce very few subnetworks or even no decomposition at all. Brucker [2] gave a decomposition procedure for networks with many strongly connected components. The decomposition procedure produces a linear structure.

In this article we propose a decomposition algorithm which finds the shortest distance between a source and a sink node. Section 2 introduces the procedure for partitioning the node set of a network into subsets with path structure. Section 3 gives the algo- rithmic procedures for determining the shortest distance between a source and a sink node for different network structures. The computational complexities of the proposed algorithms are presented in Section 4. These efficiencies are also compared with similar decomposition algorithms. Section 5 gives the conclusion of this work.

Naval Research Logistics Quarterly, Vol. 30, pp. 387-396 (1983) Copyright 0 1983 by John Wiley & Sons, Inc. CCC 0028-1441 /83/030387-10$02.00

388 Naval Research Logistics Quarterly, Vol. 30 (1983)

Figure 1. Decomposition structures used in different decomposition algorithms. (Note: Each X, is a node set.)

2. THE DECOMPOSITION PRINCIPLE

Consider an n node network with node set N and arc set A , where IN1 = n is the cardinality of the set N. Let the nodes of the network be numbered from 1 to n, where node 1 is the source node and node n is the sink node. Consider the following node sets:

if i = 1,

Note that if the node set Xi, i # l ,m, and the arcs incident to the nodes in Xi are eliminated, the network becomes disconnected. We call Xi a minimal disconnecting node set ofxi- I , i = 2, . . . ,m - 1. Assume that in this procedure node n is contained in set XI;, where k 5 m, if X, = {n}, then the decomposition is complete. Otherwise create artificial nodes (n + i) E Xk+ir i = 1,2, . . . ,(m - k + l) , connected by the arcs (n + i, n + i + 1) for i = 0, . . . ,(m - k) with zero arc length. Thus, the decomposition is complete. Figure 2 gives an example of such a case, where node 18

Tufekci: Decomposition Algorithms 389

'1 '2 '3 '4 '5 '6 X9

Figure 2. A network with minimal disconnecting sets.

is the original sink node and artificial nodes 19, 20, 21, and 22 are added to the original network.

Consider a network G(N,A) with IN( = n. Let D = {d,} represent its corresponding distance matrix where d , = 0 and d , = if (i,J E A. Let XI, . . . , X , be the minimal disconnecting sets of this network as described before. Without loss of gen- erality, let XI = {I} and X , = {n}. The distance matrix D is arranged in such a way that the submatrix D , represents the matrix of arc lengths from nodes in set X i to nodes in set X j as shown in Figure 3. Originally only the shaded areas contain finite

'1

'2

'3

',-2

'm- 1

'm

x1

D3 1

Dm-2,1

. . . . . '2 '3 'm- 2 'm-1 'm

D1,m-2 D1,m-1 Dl ,m

D2,m-2 D2,m-1 D2,m

D3,m-2 '3,m-1 D3,m

Figure 3. The distance matrix D.

390 Naval Research Logistics Quarterly, Vol. 30 (1983)

entries. For tree-structured networks with node sets X I , . . . , X m , only D,,, Dl,r(l), and Dr(l),r will contain finite entries. Here r(i) indicates the index of the node set adjacent to node set X,.

Consider an (n x m) matrix A and (rn x p) matrix B. Consider the operation C = A*B, referred to as the “matrix minisummation” by Hu [ l l ] , where

i = 1, . . . ,m;j = 1, . . . , p .

In determining the (i,j)th entry of matrix C multiplication is replaced by summation and summation is replaced by a minimization.

clI = min (alk + bkl), l a k 5 m

For two matrices of the same dimension define A + B = C as

cr, = min(a,,, b,,), for all i,j.

In determining the (i,j)th entry of matrix C, addition is replaced by a minimization.

3. ALGORITHMS

3.1. Linear Networks

Assume that the network is amenable to linear decomposition and minimal discon- necting sets XI, . . . , X , are obtained as prescribed before. Without loss of generality we assume that IX1 I = IX,I = 1. Consider the following procedure on the matrices corresponding to node sets X i , i = 1, . . . ,112. Let 0% represent the matrix of shortest distances obtained by Floyd’s 161 matrix algorithm.

ALGORITHM A (Linear Networks):

STEP 1: For i = 2, . . . ,m - 2 (a) replace Dii by D t . (b) replace Dj,i+ I by Dii * Di,i+ 1 3

(c) replace Di+l,i+l by [Di+l.i+l + (Di+l,i * Di,i+1)1? ( 4 replace Dl,i+i by Dl,i * Di,i+l*

Replace D m - l , m - l by D;- l , , , , - l , replace Dm-1.m by D m - l , m - ~ * D,-I, , , STEP 2: replace D1.m D1,m-l * Dm-l,m- Note that since XI = (1) we start Step 1 from node set X2.

Let d$ (U;=, X,) represent the conditional shortest distance between two nodes i and j given that the path must lie in the node set U;=, Xk.

THEOREM 1: Algorithm A replaces di, j , i E X t , j E X I , by d f j (U:=l X , ) at the end of Step l a at iterations 2,3, . . . ,1 - 1, in that order.

PROOF: The proof of this theorem can be found in Hu [lo] or in Shier [17].

THEOREM 2: Algorithm A replaces d l , by drn(N) = dX at the end of Step 2.

PROOF: Let the shortest path between the nodes 1 and n have p nodes in it. Let u I = 1, u2, . . . , u p - l , up = n be this sequence. Ifp = rn, then the proof is complete. Since the shortest path visits each layer via a single node only once, the arcs on the

Tufekci: Decomposition Algorithms 39 1

shortest path are of the form (uj,ui+J with ui E X i and uit l E X i + l , i = 1, . . . , p - 1. Thus, without the help of Steps la, lb, and lc, Step Id will obtain

d,* , , ,+ , = &,, + dun,,,,+, for i = 2, . . . ,m - 2,

and the last operation of Step 2 will provide

d,*,& = d, * l ,U , = d,*,,Um-1 + d u m d l m .

If p > m, then in some layers the shortest path visits more than one node. Let k be an index such that ui E X i and uifl E Xi+l for i = 1, . . . ,k - 1, and uk+1 E

Thus, uk+l is either in Xk or in Xtv1. In either case we can find a node u, E Xk, w > k + 1 such that uj E U:=, X,, fork + 1 I j zs w and u,+~ E Xk+,. From Theorem 1 we will obtain

at the end of Step la at iteration i = k. Immediately preceding, d,,k,uw+l will be replaced by

- * d,.u, + dUY8UWtl - d&,+,*

Finally, Step Id will replace du,,uw+l by

d , * l * U k + dU*t,UWfl - - d , * , , U , + P

where dg,, will be available at the end of Step Id at iteration k - 1 and d;,u,+I will be available at the end of Step lb at iteration k.

With dz,ww+, available, at the end of iteration k, if w + 1 = p, the proof is complete. Otherwise, consider the subpath of the shortest path between the nodes u,+~ and up. If uWtj E X k + j for 1 I j I p - w, then with d,*l,,,,+, available at the end of iteration k, the algorithm will obtain

dY:.Uj+, = q , u j + d U j , U j + ]

in Step Id at iterationj = w + 1, . . . ,m - 2, and finally the last operation of Step 2 will provide

* d U I 3 U r n = d,*,&+, + dU,-,.U,.

If u , + ~ E xk+j for i S j I p - w, then let z 2 w + 1 be an index such that u , + ~ E X k + j if 1 I j I z - w and uZcl E Xk+r-wtl. This implies that we can find a node u, E Xk+r-w , v 2 z + 1, such that uj E U:Z;-w X, for z + 1 I j I v and u,+, E X k + z - w + ,. With the same line of argument, dz,uv will be obtained in Step l a at iteration k + z - w. Immediately following,

d:.u"+, = d:., + du".u"+l

will be obtained in Step lb, and finally during the same iteration du,,uv+l will be replaced by

392 Naval Research Logistics Quarterly, Vol. 30 (1983)

If v + 1 = p , the proof is complete. Otherwise, a similar argument will be carried out for a starting node v + 1.

Thus, the algorithm builds an m - 1 arc path which is equivalent in length to the actual shortest path.

Q.E.D.

3.2. Tree-S truc tured Networks

Consider a network with node set N amenable to a tree decomposition. Let X , , X z , . , . , X , be a partition of the node set N, such that when viewed as single nodes it possesses a tree structure. Consider the following indexing procedure for those node sets. Let s E X j and t E x k .

(1) Determine the unique path from X j to Xk. Let J = { j , = jfZ, . . . J,, = k } be the set containing the indices of the node sets encountered on this path. Let L = N - J. Reindex all those node sets X i , i E L , such that if X i and X , are on the unique path from node set X i to X,, the new index of node set X i will be smaller than the new index of node set X, .

(2) Let ILI = w. Reindex the node sets whose indices are in J as X w + l , X w + 2 r . . . ,XW+,, = X , . The node sets of the tree in Figure 4 are indexed by this procedure.

ALGORITHM B (Tree-Structured Networks): Let us assume that the network is decomposed into a tree structure and the node sets are indexed according to the procedure described above. Let k be the index such that s E XI . Let r ( i ) = j indicate the index of the node set immediately succeeding node set X i on a unique path from x; to x,.

STEP 1: For i = 1,2, . . . ,m - 1 (a) replace Dii by DB, (b) replace di,fli) by Dii * Di,<i), (c) replace Dr(i),i by D<i).i * Dii, (4 replace D<i).<i) by [D<i),<i) + (Dr(i).i * Di,<i))l.

STEP 2: Replace D,, by D:,.

STEP 3: Replace d,, by D s , k + l * Dk+I.k+2 * Dk+z.k+3 * . . . D , - I . , * D m , , , where d,,k+ is the row of D,k+ I corresponding to the source node s, and D,,t is the column of D,,, corresponding to the sink node r .

THEOREM 3:

PROOF:

Algorithm B provides d: at the end of Step 3.

The proof of this theorem is similar to the proof given for Theorem 2. Let {j,,j,, , . . , j z } be the nodes traversed by the shortest path wherej, = s f xk and j , = t E X , . If z = m - k then each node set X i , i = k , k + 1, . . . ,m, contains a single node on this shortest path and thus each arc (j,,, j p + I ) of the shortest

Figure 4. A tree-structured network and indices of the node sets.

Tufekci: Decomposition Algorithms 393

path is of the formj, E x k + p and j,,, E &+,+, . Hence, Step 3 without the help of other steps will provide d;.

If z > m - k, then there exists a node j p + , on this shortest path 0 I p I z - 1 such that j i E x k + i for i = 0,1, . . . , p and j,+l E &+,+, . Let P( i ) represent the indices of all node sets which precede node set X , on the unique path from node set X j , j E P ( i ) , to X, . Clearly, the node j,+, belongs to the set &+, U ( U , E p ( k + , ) X j ) . Let j,, w 2 p + 1 be a node such that the segment of the shortest path between jp+ , and j , lies completely in the subset xL+& { u j , = P ( k + p ) x j ) and j W + , E & + , + I . From Theorem 1, Df+p,k+p will replace D k + p , k + p at iteration k + p Step la. That is, at the end of Step l a of iteration k + p we have

Immediately following, Step l b will replace djk+p,jw+, by

d $ + , . j w ( N ) + d j w , j w + , = d $ + p , j w + , ( W *

Hence, the argument starts anew at nodej,,, E X k + , + , .

4. COMPUTATIONAL EFFICIENCY

We will determine the computational efficiency of the decomposition algorithm for different network shapes.

The matrix minisummation between two (n x n) matrices requires approximately n3 additions and n3 comparisons. The matrix type of algorithm for shortest paths for an n node network also requires approximately n3 additions and n3 comparisons. Determination of minimal disconnecting sets in an n node network can be approximated by n 2 / 2 comparisons.

4.1. Linear Networks

Let ( X i ( , i = 1 , . . . ,m, be the cardinality of the set X i . The computational re- quirement of Algorithm A can be assigned to each step as follows:

Step la:

Step lb:

Step lc:

Step Id:

Step 2:

m - 2 X ( I x ~ I ) ~ additions and comparisons, i = 2

m - 2 c ( I X i l ) 2 ( l X i + 1 1 ) additions and comparisons, i = 2

m - 2

(lXil)(lXi+ ,I) additions and comparisons, i = 2

394 Naval Research Logistics Quarterly, Vol. 30 (1983)

The shape of a network is very important in the computational requirements. In the remaining part of this section we express the computational requirements of the pro- posed decomposition algorithms for different network shapes.

4.1. Rectangular Networks

Consider a network with m minimal disconnecting sets Xl,X2, . . . ,X, such that XI = {s} and X, = {t}.

DEFINITION 1: A network is said to be rectangular if lXzl = IX31 = * - * lX,-ll. (See Fig. 5 ) .

DEFINITION 2: The index of rectangularity for a rectangular network is given by k = (n - 2)/(m - 2)’, where lXjl = (n - 2 ) / ( m - 2) = p , j = 2,3, . . . , m - 1. Note that fork = 1, each disconnecting set X i , i = 2, . . . ,m - 1, contains m - 2 nodes. For rectangular networks Algorithm A will need (3m - 5)p3 + (m - l)p2 + p additions and (3m - 5)p3 + (2m - 3)p2 + p comparisons. If Shier’s [17] algorithm is modified to find only the shortest distance between a source node and a sink node, it will require (8m - 17)p3 additions and (8m - 17)p3 + (2m - 2)p2 comparisons.

Note that n - 2 = k(m - 2)’ and lXjl = k(m - 2) f o r j = 2, . . . ,m - 1 as described before where k is the rectangularity index. Thus, if we replace p by k(m - 2) in the bound given for Algorithm A we get 3k3(m - 2)4 + ( k 3 + k’)(m - 2)3 + k2(m - 2)’ + k(m - 2) additions and 3k3(m - 2)4 + ( k 3 + 2k2)(m - 2)3 + 2k2(m - 2)’ + k(m - 2) comparisons. Expressed as functions of n and k these bounds yield3k(n - 2)’ - (k3/’ + k’/’)(n - 2)3/2 + 2k(n - 2) + k”’(n - 2)1/2comparisons.

Figure 5. Some network shapes.

Tufekci: Decomposition Algorithms 395

4.2. Triangular Networks

A network is called a triangular network if ( X I [ = 1 and IXj[ = j f o r j = 2,3, . . . ,m - 1 and X, = {n}. Note that for a triangular network with n nodes we have n = [m(m - 1)/2] + 1 (Fig. 5).

DEFINITION 3:

Thus, for triangular networks, the algorithm will take approximately (m - 1)3 + 1) additions and comparisons. This bound has the highest-order term 3(n - 1)2. The modified Shier’s algorithm will require 2m4 - (17/2)m3 + (33/2)m2 + 3m + 13 additions and approximately the same amount of comparisons. This bound has the highest-order term 8(n - 1)’.

(3/4)(m - 2)’(m - 1)’ + (2/3)(m - 2)(m - 1)(2m - 3) + (m - 1)’ + (m -

4.3. Diamond Networks

DEFINITION 4: A network is called a diamond network if m is odd and IXjl = j for j = 1,2, . . . ,(m + 1)/2 and )X(m+1),2+j[ = (m + 1)/2 - j for j = 1,2, . . . ,[(m + 1)/2] - 1 . Note that for a diamond network with n nodes we have n = (rn + 1)2/4 (Fig. 5).

For diamond networks Algorithm A will need approximately (3/32)m4 + (45/ lW)m3 + m2 + (3/2)m + 9 additions and the same amount of comparisons. As a comparison, the modified Shier’s algorithm will require (1/4)m4 + (13/12)m3 + (5/ 8)m2 + (59/64)m + 30 additions and the same amount of comparisons. Expressed as a function of n, the highest-order term for Algorithm A is (3/2)(n - 1)2. This term is 4nZ in Shier’s algorithm.

4.4. Tree-Structured Networks

Let us assume that the node sets X l , X 2 , . . . ,X , possess a tree structure. If IXil = p , i = 1, . . . ,m. The computational requirement of Algorithm B can be expressed as (4m - 3)p3 + (m - 2)p’ + 2p additions and (4m - 3)p3 + (2)p’ + 2p comparisons. The same answer can be obtained by implementing Shier’s algorithm in (8m - 7)p3 + (m - 2)p2 + 2p additions and (8m - 7)p3 + (2m - 2)p’ + 2p comparisons.

5. CONCLUSION

We propose decomposition algorithms for determining the shortest path between a source and a sink node. Due to the graph decomposition chosen and the algorithm adapted to it, algorithms terminate at the end of the forward procedure, unlike other decomposition algorithms [2,8,10,14,17,22]. One should note that not all d$, j = 2, . . . ,n - 1 , obtained by the algorithm necessarily represent the true shortest distance between the source node s and any other node j. However, d,T is in fact the actual shortest distance between the source node s and the sink node t .

By these algorithms we eliminated the reverse procedure of all the previously pro- posed decomposition algorithms which gives a substantial saving in the computational bound. Needless to say, negative arc lengths pose no restriction on the algorithm provided that no cycle of negative length exists in the network.

396 Naval Research Logistics Quarterly, Vol. 30 (1983)

REFERENCES

[ 11 Bazaraa, M. S . , and Jarvis, J. J., Linear Programming and Network Flows, Wiley, New York, 1977.

[2] Brucker, P., “A Decomposition Algorithm for Shortest Paths in a Network with Many Stmngly Connected Components,” Zeitschriji for Operations Research, 18, 181-186 (1974).

[3] Dantzig, G. B. , “All Shortest Routes in a Graph,” Technical Report 66-3, Operations Research House, Stanford University, Stanford, CA, 1966.

[4] Dijkstra, E. W., “A Note on Two Problems in Connection with Graphs,” Numerical Mathematics, 1, 269-271 (1959).

[5] Dreyfus, S. E., “An Appraisal of Some Shortest Path-Aigorithms,” Operations Research,

[6] Floyd, R. W., “Algorithm 97, Shortest Path,” Communications of the ACM, 15(6), 345

[7] Ford, L. R . , and Fulkerson, D. R., Flows in Networks, Princeton U. P., Princeton, NJ,

[8] Glover, F., Klingman, D., and Napier, A., “A Note on Finding All Shortest Paths,”

[9] Hu, T. C., “Decomposition Algorithm for Shortest Paths in a Network,” SIAM Journal

[lo] Hu, T. C., “A Decomposition Algorithm for Shortest Paths in a Network,” Operations

[ 1 1 1 Hu, T. C. , Integer Programming and Network Flows, Addison-Wesley, Reading, MA,

[12] Jarvis, J. J . , and Tufekci, S., “A Decomposition Algorithm for Locating a Shortest Path

[13] Johnson, D. A., “A Note on Dijkstra’s Shortest Path Algorithm,” Journal of the Asso-

[14] Land, A. H . , and Stairs, S. W., “The Extension of the Cascade Algorithm to Large

17, 395-412 (1969).

(1962).

1962.

Transportation Science, 3-12 (1973).

on Applied Mathematics, 207-2 18 (1967).

Research, 16(1), 91-102 (1968).

1969.

Between Two Nodes in a Network,” Networks, 12, 161-172 (1981).

ciation for Computing Machinery, 20(3), 385-388 (1973).

Graphs,” Management Science, 14, 29-33 (1967). [15] Minty, G., “A Comment on the Shortest Route Problem,” Operations Research, 5 , 724

(19571. [16] Moo& E. F., “The Shortest Path Through a Maze,” Proceedings of the International

Symposium on the Theory of Switching, Pt. 11, April 2-5, 1957, The Annals of the Computing Laboratories of Harvard Universify 30, Harvard U. P., Cambridge, MA.

[ 171 Shier, D. R., “A Decomposition Algorithm for Optimality Problems in Tree-Structured Networks,” Discrete Mathematics, 6, 175-1 89 (1973).

[18] Steenbrink, A. P., Optimization of Transport Networks, Wiley, New York, 1974. [ 191 Tufekci, S., “Decomposition of Large-Scale Single-Commodity Network Flow Prob-

lems,” Ph.D. Dissertation, Georgia Institute of Technology, 1977. [20] Weintraub, A., “The Shortest and the K-Shortest Routes as Assignment Problems,”

Networks, 3, 61-73 (1973). [21] Williams, T. A., and White, G. P., “A Note on Yen’s Algorithm for Finding the Length

of All Shortest Paths in N-Node Nonnegative Distance Networks,” Journal of the Asso- ciation for Computing Machinery, 20(3), 389-390 (1973).

[22] Yen, J. Y., “On Hu’s Decomposition Algorithm for Shortest Paths in a Network,” Op- erations Research, 19, 983-985 (1971).

[23] Yen, J. Y., “An Algorithm for Finding Shortest Routes From All Source Nodes to a Given Destination in General Networks,” Quarterly of Applied Mathematics, 27(4), 526-530 (1970).

[24] Yen, J . Y., “A Modified 1/2 N3-Steps Algorithm for Detecting Negative Loops of Finding all Shortest Routes from a Fixed Origin in N-Node General Networks,” paper presented at the TIMS 10th American Meeting, Atlanta, GA, October 1-3, 1969.