You are on page 1of 6

Neural Networks for Routing Communication Traffic

Herbert E. Rauch and The0 Winarske


ABSTRACT: This paper presents an introduction to the use of neural network computational algorithms to determine optimal traffic routing for communication networks. The routing problem requires choosing multilink paths for node-to-node traffic to minimize loss, which is represented by expected delay or some other function of traffic. The minimization procedure is implemented using a modification of the neural network traveling salesman algorithm. Illustrative simulation results on a minicomputer show reasonable convergence in 250 iterations for a 16-node network with up to four links from origin to destination. this paper for the problem of optimal routing of communication traffic. Routing of communication traffic is important for commercial telecommunications systems and military communication systems. Commercial telephone companies use routing tables and dynamic routing to choose traffic routes that minimize delay. Computer networks such as ARPANET use routing algorithms to transmit information over multiple links. Military communication systems have a requirement similar to commercial systems but, in addition, must have the potential to route high-priority messages under radically changing environmental conditions. This paper is concerned with the use of neural network computation algorithms for determining optimal routing for communication networks. In large military communication systems, the amount of traffic and the number of nodes and links may be so great that implementation of routing algorithms in a sequential general-purpose computer may not be effective. On the other hand, implementation in a parallel neural network computer has the potential for much greater speed and, in some sense, also approximates the parallel implementation that takes place in a large-scale communication network. Furthermore, optimal routing based on a parallel neural network computer has the potential to respond rapidly to radically changing environmental conditions. The approach to optimal routing presented here is straightforward; more sophisticated routing algorithms currently are being developed in the literature. For example, Tsitsiklis and Bertsekas [2] use gradient projection for distributed asynchronous optimal routing, while Chang and Wu [3] present an optimal adaptive routing algorithm. Other papers deal with routing and flow control for computer and communication networks [4][6]. The January 1987 issue of the IEEE Proceedings is devoted to packet radio networks [7], and network planning is treated in a special issue of the IEEE Communicafion Magazine [8]. Akselrod and Langholz [9] present a simulation study of routing methods such as would be used in telephone communication. They simulate traffic for individual messages, whereas the simulation in this paper
0272-1 70818810400-0026$01 00 @ 1988 IEEE 26
I Controi Systems Mogozinr

Introduction
A neural network is a massive system of parallel distributed processing elements connected in a graph topology. By defining proper processing functions for each node and defining associated weights for each interconnect, it is possible to solve an optimization problem relatively rapidly. System engineers can consider a neural network as a large-dimensional nonlinear dynamic system, which is defined by a set of first-order nonlinear differential equations. The equations can also be difference equations and can be represented in the form of connected elementary processing elements. Accompanying papers present an introduction to neural network approaches and algorithms [I]. In order to solve a practical optimization problem using neural network architecture, it is necessary to find algorithms for determining the connections and weights of the neural network so that it converges to the appropriate answer. It would seem that a three-step approach would prove beneficial. First, solve the optimization problem using a traditional approach. Second, formulate the optimization problem in terms of neural network architecture. Third, simulate the neural network system using a conventional digital computer. This is the approach developed in
Herbert E. Rauch and Theo Winarske are with the Lockheed Palo Alto Research Laboratory, 92-201 254E3,3251 Hanover Street, Palo Alto, CA 94304. This work was supported by Lockheed Independent Research.

is for traffic Row. Lippmann [lo] examines routing and preemption algorithms developed for circuit-switched networks such as the Defense Switched Network. The 16-node network used as the example in this paper is from Lippmann [lo], while the 8-node network from Akselrod and Langholz [9] and a 64-node network have been simulated as well. For additional information on military communication systems, see the book by Ricci and Schutzer [ l l ] . For additional information on neural networks, see [12], which gives an excellent tutorial introduction to the use of neural network computational algorithms for signal processing with 48 references. Hopfield and Tank [13], [I41 give an explanation of a traveling salesman neural network algorithm; a version of that algorithm is now available on the AI EXPERT Bulletin Board Services and CompuServe Forum [15]. For additional information on data networks, see the book by Bertsekas and Gallager [ 161. The problem of optimal traffic routing for a communication network is discussed in more detail in the following section. The next three sections treat optimization using the traditional approach, optimization using neural network architecture, and simulation of the neural network. Potential future work is mentioned briefly in the conclusion.

Problem Statement
To illustrate traffic routing in a communication system, consider the 16-node network in Fig. 1 , where the locations of the nodes can correspond to geographic loca-

12 Fig. 1. Communication network with two satellites, five earth stations, and 16 nodes (from [IO]).

tions in the United States [IO]. The nodes are numbered 1 through 16, with the solid lines between nodes representing land line links and the jagged lines representing satellite-based links. Transmitting and receiving stations for the two satellites are located at the designated nodes numbered 1, 4, 9, 15, and 16. The links, nodes, and capacity of the communication system can be represented by a 1 x 1 matrix C with entries C,, as shown 6 6 in Table 1, where the entry C,, represents the capacity between origin node (i) and destination node ( j ) . In this representation, each of the land links is assumed to have a capacity of 8 units, with greater capacity for the satellite links. When there is a 0 entry, it means there is no direct link between the two nodes and communication requires multiple-link traffic through adjoining nodes. In this example, the traffic capacity is symmetric (the matrix C is symmetric) but, in general, this is not necessary. For instance, commercial radio and television links are often one way, therefore, some nodes receive but do not transmit. The expected traffic between nodes can be represented by a matrix E with entries E!,. For this example, it is assumed that each node communicates with each other node at a rate of I , therefore, all the entries E,, except the diagonals are equal to 1. The diagonal elements are zero. The topology of the network is such that no node-to-node communication requires more than four links. For example, communication between node 1 and node 13 goes through three intermediary nodes and requires four links (1 -4-9-16-1 ) 3.

The node-to-node routing problem requires finding the routing from origin node i to destination node j , which minimizes a loss function such as the total number of links or the expected delay. The minimization usually assumes some knowledge of the overall traffic pattern. Commercial telephone companies use routing tables, which tabulate the best feasible candidate routes based on previous experience. With commercial telephone, additional knowledge can be acquired instantaneously when the desired link is found to be full (the line is busy). With many communication and computer networks, the knowledge is acquired through periodic updates in which information about link and node loads is transmitted from adjacent nodes or flooded throughout the entire system. Since acquiring and transmitting status information increases system overhead, periodic updates may be limited. Several functions have been considered where the expected delay or loss function across a link is a function of the capacity C,, and the actual traffic A,,. The loss functions F can be made quite steep as actual traffic approaches capacity. For example, one candidate loss function approaches infinity as traffic approaches capacity.
FI(A,> C,,) = P / ( l - P )
P = (A&,)

quired transmission time for the message can also be represented as a Poisson process. When the Kleinrock independence approximation is used, the sum of delay across all links is assumed proportional to the sum of the loss ( I ) over the whole network [16]. A loss function that approaches infinity poses obvious difficulties in a computer simulation, therefore, an alternative is an exponentially increasing loss function with some maximum limit F,,,. A constant F,, is added to represent transmission time for each link.
F2(4,,, C,,) = Fo

+P

exp ( P I

(2)

More forgiving is a quadratic loss function where the constant term represents the transmission time per link and the quadratic term approximates additional delay due to traffic.
F 3 ( 4 C,,) = Fo + P 2

(3)

Conventional Simulation
A conventional simulation of optimal routing of communication traffic has been implemented on a VAX 8600 computer. For each origin-destination pair of nodes, the feasible candidate routes are evaluated by exhaustive search of adjacent links. The program looks for one-link routes, two-link routes, and so on, up to a maximum of fivelink routes. The program allocates the node-to-node traffic to the single route with minimum loss or, if the user desires, to the two, three, or four best routes with minimum loss. If the user chooses more than one route, the traffic is allocated among routes in inverse proportion to the loss on each route. For example, if the loss on two routes is 1 unit and 2 units, two-thirds of the traffic is allocated to the first route and one-third to the second route. In the computer simulation, each feasible candidate route is examined to find the routes associated with the minimum loss. A naive interpretation of routing with a 16-node net6 work would assume that there are 1 candidate nodes per link, so a four-link route 6 4 would require examining 1 X 15 x 1 x 13 (i.e., 43,680) candidates. In reality, each node is connected to three or four other nodes, so a four-link route requires examining only about 3 X 3 X 3 X 3 (i.e., 81) candidates. Initially, the program has no knowledge of the actual node-to-node traffic, therefore, the initial loss function W,, is chosen (somewhat arbitrarily) to be equal to the inverse of the node-to-node capacity C,, W, = l/C,

(1)

The loss function ( I ) is proportional to the average delay per message across a link, when the message amval rate can be represented as a Poisson process (i.e., exponentially distributed amval times), and the re-

Table 1 Capacity Matrix for 16-Node Network in Fig. 1 1


1

9 1 0 1 1 1 2 1 3 1 4 1 5 1 6

2 3 4 5 6
I

8 9
IO

11 12
13 1 4 15 1 6

0 1 1 128 6 6 0 6 1 6 0 1 1 6 1 1 6 6 0 128 0 1 6 0 0 1 1 6 6 1 6 016 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 1 1 6 6 0 1 6 0 0 1 6 0 0 0 0 0 0 016 016 0 1 1 1 6 6 6 0 0 0 0 0 0 0 016 0 016 0 0 0


0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 0 0 0 0 0 1 6 0 0 0 0 0 0 1 6 0 0 0 0 0 0 1 6 0 01616 0 0 0 161616 0 0 0 1 6 016 0 0 0 0 1 1 6 6 0 1 6 0 0 1 6 1 6 016 01616 0 0 0 016 0 1 6 0 0 0 0 1 1 6 6 0 1 6 0 0 1 6 0 0 1 6 0 0 6416 0 0 0 1 6 0 64 0 0 0 1 6 1 6

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6464 1 6 0 0 0 0 0 0 1 6 1 1 6 6 032 32 0

(4)
27

April 1988

In the first iteration, this initial loss function is used to determine the optimal nodeto-node muting, and all expected traffic E,J is allocated among links to obtain the actual traffic matrix A for that allocation. On the next iteration, the actual traffic matrix A is and used to determine the loss function WLJ, the optimal routing and allocation procedure is repeated to obtain a new actual traffic matrix A . The procedure is repeated for several iterations to evaluate convergence. Unfortunately, on some links, traffic tended to oscillate from iteration to iteration. Traffic would go through one link on one iteration and then through an adjacent link on the next iteration. This oscillation was corrected by using a one-dimensional search procedure to minimize loss from one iteration to the next. If [AR] is the traffic matrix on one iteration and [BR]the traffic matrix calculated on the subsequent iteration, the modified new traffic matrix [AR+I ] is a linear interpolation between these two traffic matrices.

Neural Network Routing Algorithm


To illustrate the neural network routing algorithm, consider again the 16-node network in Fig. 1. Assume that it is desired to route traffic from node 1 to node 13 in four links or less. From visual inspection, it is apparent that a candidate route with four links (including two satellite links) goes through the five nodes 1-4-9-16-13. The first and last nodes are the origin and destination and the three interior nodes represent points in the four-link connection. One way to represent the location of the five nodes 1-4-9-16-13 is through the five 16-dimensional vectors U I , U,, . . . , U,, where the first vector U , has all zeros except one at the element 1, the second vector U, has all zeros except at element 4, and so on to the fifth vector U,, which has all zeros except at element 13. The neural network algorithm starts with a reasonable initial estimate for the five control vectors U, and then attempts to converge to the final value of the control vectors, which corresponds to the desired five nodes. The five vectors in Table 2 show typical initial conditions for the control vectors. In Table 2, the entries in each column vector add up to unity. The origin vector U , and the destination vector U, are known, therefore, there are zero entries except for the origin (1) and destination (13) nodes. The second vector, U,, has zero entries for nodes with no direct link to the origin and values 0.33 for the three nodes (2, 3, and 4) that have a direct link with the node 1 origin. Likewise, the fourth vector, U,, has zero en-

- -

0 1 E 1 1

(5)

tries for nodes with no direct link to the origin and values 0.25 for the four nodes (1 1, 12, 14, and 16) that have a direct link with the node 13 destination. The third vector, U,, has zero entries at the origin and destination nodes (1 and 13) and entries 0.06 at each of the other 14 nodes. Since the origin U , and the destination U, are known, the purpose of the routing algorithm is to find a way to converge to the three intermediate vectors, U,, U,, and U,. An example in which the third vector, U,, converges to the correct value is illustrated in Table 3, which shows values for the 16 entries in the U, vector from a simulation run at intervals of 50 iterations. Initially, 14 entries have equal values of 0.06 (one-sixteenth). The entries for origin node 1 and destination node 13 are kept identically zero. After 100 iterations, all the entries have decreased to zero, except nodes 5 and 9, with node 9 much larger. The entry at node 9 increases farther until it reaches 0.96 at 150 iterations. The neural network routing algorithm uses a gradient approach to minimize the loss function. The loss function J I is a function of the 16 X 16 weighting matrix Wand the k five control vectors u
4

The one-dimensional quadratic search for the best value of the search parameter E requires evaluation of the overall loss function five times, but the computation time involved is much less than that from traffic allocation for a single iteration. The one-dimensional search is similar to the FrankWolfe method [ 161. It eliminates potential oscillations and causes the optimal routing procedure to converge rapidly. When the quadratic loss function [Eq. (3)] was chosen, the procedure often requires only one run with the initial loss function [Eq. (4)] and one run with the quadratic loss function [Eq. (3)], with further runs resulting in a small decrease in overall loss. The computer simulation is connected to a Chromatics color graphics terminal with an interactive display that can show a communication network layout such as that shown on the cover or in Fig. 1. Geographical information is in blue, functioning links in green, broken links in red, and overload links in yellow. The program is run with changing conditions to evaluate robustness. For example: one link is broken and traffic reallocated; a second link is broken; then a third link is broken to determine which links would be overloaded and which messages are delayed. This interactive graphics display allows the analyst to quickly evaluate the effects of various assumptions about variables such as traffic flow and disruptions.

J , = (1/2)

k=l

c l W c k +I

(6)

The loss function J I has been chosen so that, upon convergence, when all the control vectors u are either 0 or 1, the loss reduces k to the appropriate value for each link. Any

Table 2 Typical Initial Conditions for Five 16Dimensional Control Vectors U ] , U2, U,, U,, and U, Element
1

Table 3 Convergence of Control Vector U, after 150 Iterations from Simulation Run Iterations Element
1

U,
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

U2
0 0.33 0.33 0.33 0 0 0 0 0 0 0 0 0 0 0 0

U3
0 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0 0.06 0.06 0.06

U*
0 0 0 0 0 0 0 0 0 0 0.25 0.25 0 0.25 0 0.25

U,
0 0 0 0 0 0 0 0 0 0 0 0
1

0 0 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0 0.06 0.06 0.06

50
0 0 0.10 0 0.28 0 0 0 0.37
0 0

100

150

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

0 0 0

2 3 4 5 6 7 8 9 IO 11 12 13 14 15 16

0 0 0 0 0.26 0 0 0 0.57 0
0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0 0 0 0 0.96 0 0 0 0 0 0 0

28

Control Systems Magazine

reasonable loss, such as the ones in Eqs. (1)( 3 ) , can be used for the elements Wy, long as as there is a practical upper limit on the maximum value of loss. For the numerical simulations, the quadratic loss in Eq. (3) was used. An obvious characteristic of the loss function is that, for open links (when there is no connection between nodes), there should be a large loss. The loss function J , is augmented by the penalty function J,, which deals with the constraint that the sum of all the elements Uik of the vector u must total unity. The k penalty function J2 equals a scalar fi times one-half the square of the deviations of the sums from unity.

Notice that the penalty function J2 involves only the three intermediate control vectors U,, U,, and U,, because, by definition, the initial vector U , and the destination vector U, each have all zeros except one element, which is unity. The overall loss function J is the sum of J , and J2. The change in overall loss J , due to a change in control A u k , is calculated directly with the convention that the vector gradient of the function is in brackets, and the vector e has all entries equal to unity.

J = JI

+ J2

(8)

terms in brackets separately gives information related to traffic characteristics. The first term in brackets in Eq. (10) comes from the lower-numbered link in the traffic route, while the second term in brackets comes from the higher-numbered link. If both bracketed terms give positive corrections, it means that there is positive traffic for that node from both the lower- and higher-numbered links. Because the positive traffic condition is desirable, an option was added whereby the correction for a node is increased by a reinforcement factor R when there is a positive traffic condition through that node. A reinforcement factor of 10 to 30 has been used to speed up convergence. There is a quick way to determine the minimum number of links for traffic from every origin i to destination j from the elements of the capacity matrix C. Nonzero elements of the capacity matrix C represent origin-todestination pairs, where the minimum route requires only one link. Nonzero elements of the self-product of the capacity matrix (C x C) represent pairs where the minimum route requires two or fewer links. In general, nonzero elements of the Lth product of the capacity matrix (C) represent pairs, where the minimum route requires L or fewer links. Higher products can be grouped to reduce computation effort. Thus, C4 is the product C2 X C2. This procedure has been programmed, and it is an effective way to reduce computation time by knowing beforehand the minimum number of links for each origin-destination pair.

Neural Network Simulation


The function J is made smaller on each iteration if the change in control A U is equal to the negative of the gradient times a positive scalar parameter a. In the gradient equation, the time increment A T has been added to show that the rate of change of control is being considered. In actual application, it is intended that the simulation be on a large-dimension parallel neural network. However, the simulation here was done on a conventional serial VAX 8600 computer. In the previous section, the neural network routing algorithm was developed for a particular origin-destination pair. With the 16-node example and twoway traffic between each pair of nodes, there are 16 X 15 or 240 origin-destination pairs, so the neural network origin-destination routing algorithm must be repeated 240 times for each step of the serial simulation. A key aspect of neural network simulation is the number of active elements required (neurons) and the number of connections. For optimal traffic routing with this 16-node example, the entries in Table 2 show the number of active elements necessary for simulation of a typical four-link connection between a pair of nodes. The elements for the origin vector U, and the destination vector U, are fixed, so they are not active. There

A fik

for k = 2, 3, 4

(10)

Note that, on the right-hand side of Eq. (lo), the gradient correction for the control v at k each iteration has been divided into two terms in brackets, with the first term primarily due to control I and the second term primarily due to control U, + ,. Evaluating the two

are three active elements for the second vector U, (which connect with the origin node) and four active elements for the fourth vector U, (which connect with the destination node). The middle vector, U,,has 14 active elements, so there is a total of 21 active elements for the four-link simulation. Each active element is connected to the active elements in the same control vector as well as to the active elements in both the previous control vector and the current control vector, so there are about 400 connections for the 21 active elements in the fourlink simulation. There are seven active elements and about 50 connections for the typical three-link simulation and three active elements and about 12 connections for the typical two-link simulation. The preponderance of traffic routing in this 16-node example is for three links or less, so that those values of seven active elements and 50 connections will be used as the typical requirement for routing of an origindestination pair. With 180 required origindestination pairs for the 16-node example, this means that 1260 active elements and 9000 connections would be needed to simulate the 16-node example. Notice that reducing the active elements to include only the possible links reduces substantially the number of active elements required. A more demanding and more realistic application for traffic routing might have 100 nodes, with each node communicating with 20 other nodes on average, therefore, there would be 2000 origin-destination pairs. Large networks can be quite stmctured, so the three-link values of seven active elements and 50 connections per origin-destination pair might be reasonable. Hence, 14,000 active elements and 100,OOO connections would be needed to simulate traffic routing for this lM)-node communication network. This number of active elements and connections is large, but it is within the range of proposed neural network computers. A question of some interest is how the traffic routing algorithm compares with the traveling salesman neural network algorithm of Hopfield and Tank [13], [14]. They do not give explicit equations for their 13-node (or city) traveling salesman example, but, from their explanation, it would seem that they use a loss function such as J , in Eq. (6). Evidently, they add constraints such as J2 in Eq. (7) to the loss function to ensure that all the elements in each control vector add up to unity. Also, it would seem that they would have an additional loss function similar to .I2, which would ensure that each node (or city) was visited once and only once. Hence, the equations that they simu-

April 1988

29

lated should be similar to Eq. (10) with added terms to ensure that each node (city) was visited once. The number of active elements for the 16node (city) traveling salesman algorithm can be determined. It would require 16 control vectors. with 16 active elements for each vector, for a total of 256 active elements. Each active element would be connected to the elements in its own control vector as well as to the elements in both the previous and subsequent control vectors. The condition that each node (city) be visited once and only once would require connection to that node (element) for each of the remaining vectors, therefore, there would be about 60 connections per active element and about 15,360 total connections. Once again, this number is not unreasonable, although there might be some problem with proper convergence. The question of convergence is important for neural network algorithms. In the Hopfield-Tank algorithm, the weighting matrix W is fixed, and this may help convergence. In the traffic routing algorithm, the weighting matrix W can depend upon the estimated traffic, as determined from Eq. ( 3 ) , for example, so convergence might be more difficult. Conversely, the traffic routing algorithm treats each origin-destination pair separately, so convergence is really for the 21 active elements in each four-link simulation, more or less independent of the other active elements. This might lead one to believe that convergence in the 16-node case would be indicative of convergence in a more demanding and more realistic problem with a much larger number of nodes. Returning to the neural network simulation of the optimal routing for 16 nodes, in a typical run, the loss function Wu is not updated for the first 200 iterations, and then it is updated once every 25 iterations thereafter. In particular, for the first 200 iterations, it is assumed that the loss is 1 for candidate links (C,, not zero) and 10 for open links. After the first 200 iterations, the traffic is allocated to the traffic matrix A according to the current control U,and the weighting matrix W is recalculated according to the actual traffic. This weighting W,, has a minimum of 1 and a maximum of 7 using the weighting in Eq. (3), and the weighting for open links is kept at 10. This new weighting W , is not changed for the next 25 iterations of the control variables. Thus, once every 25 iterations, the weighting is recalculated. If this were programmed using an analog neural network, the weighting can be updated every iteration, if necessary, but on the digital computer, the periodic updating of the weighting matrix W is intended to de-

crease computer time as well as increase stability in convergence. With the 16-node network, the solution converges after the first 200 iterations. At that time, the weighting for loss function Wll is updated, and that new weighting is used for the next 25 iterations. At iteration 225, the weighting is updated a second time, and, by iteration 250, a steady-state value has been reached. In general, the convergence is to one preferred route. For example, for the origin node 1 to destination node 13 pair, the steady-state value has one preferred route, which traverses nodes 1-4-9-16-13. However, sometimes traffic was split among several routes. For example, from origin node 1 to destination node 5 (not discussed previously), the traffic on the intermediate link is allocated between three nodes (2, 3, and 4). Evidently, this allocation prevents some links from becoming too crowded. In the simulation of the 16-node network, the two most crowded links were the link from node 4 to node 9 (which carries much of the traffic between the two satellite-earth stations at nodes 4 and 9) and the link between nodes 5 and 8 (which carries much of the remaining traffic between the left and right half of the network). If it is assumed that the neural network calculations converge after 200 iterations, there is an interesting interpretation of the partial results. Initially, when a new network is created, there is no information about traffic flow, so the result from the first 200 iterations would be the traffic flow if no feedback were available. At 200 iterations, information is received about the actual traffic flow, so the result after the next 25 iterations is the improved traffic flow after one feedback measurement of actual traffic flow. This interpretation is particularly interesting when there is a drastic change in the environment, such as a broken link, and the traffic gradually adjusts to new conditions.

communication network with lo00 nodes? Second, should a better neural network algorithm be developed that more closely represents actual traffic flow in a communication network? Third, can neural network architecture be developed for more sophisticated routing algorithms in the literature [2]-[ lo]? The answers to these questions will require further work.

References
[l] IEEE Contr. Syst. Mag., Special Section on Neural Networks for Systems and Control, Apr. 1988. [2] J. N. Tsitsiklis and D. P. Bertsekas, Distributed Asynchronous Optimal Routing in Data Networks, IEEE Trans. Auro. Contr., Apr. 1986. 131 F. Chang and L. Wu, An Optimal Adaptive Routing Algorithm, IEEE Trans. Auto. Contr., Aug. 1986. 141 Z . Rosberg and I. S. Gopal, Optimal Hopby-Hop Flow Control in Computer Networks, IEEE Trans. Auto. Contr., Sept. 1986. F. Vakil and A. A. Lazar, Flow Control Protocols for Integrated Networks with Partially Observed Voice Traffic, IEEE Trans. Auto. Contr., Jan. 1987. K. H. Muralidhar and M. K. Sundareshan, Combined Routing and Flow Control in Computer Communication Networks: A Two-Level Adaptive Scheme, IEEE Trans. Auto. Contr., Jan. 1987. IEEE Proc., Special Issue on Packet Radio Networks, Jan. 1987. IEEE Commun. Mag., Special Issue on Network Planning, Sept. 1987. B. Akselrod and G. Langholz, A Simulation Study of Advanced Routing Methods in a Multipriority Telephone Network, IEEE Trans. Syst. , Man, Cyber. , Nov./Dec. 1985. R. P. Lippmann, New Routing and Preemption Algorithms for Circuit-Switched Mixed-Media Networks, Proc. 1985 IEEE

Military Commun. Con$ (Milcom 8.5). F. J. Ricci and D. Schutzer. U.S. Military Communications, A CI Force Multiplier,
Computer Science Press, 1986. R. P. Lippmann, An Introduction to Computing with Neural Nets, IEEE ASSP Mag., pp. 4-22, Apr. 1987. D. W. Tank and J . J. Hopfield, Simple Neural Optimization Networks: An AID Converter, Signal Decision Circuit, and a Linear Programming Circuit, IEEE Trans. Circ. Syst., May 1986. J. J. Hopfield and D. W. Tank, Computing with Neural Circuits: A Model, Science, Aug. 8, 1986. B. and B. Thompson, Neurons, Analog Circuits, and the Traveling Salesperson, AI Expert, July 1987. 1161 D. Bertsekas and R. Gallager, Data Networks, Prentice-Hall, 1987.

Conclusion
This paper presents an introduction to the use of neural network computational algorithms for determining optimal traffic routing. An explanation is presented for the neural network routing algorithm in terms of gradient minimization. The algorithm shows reasonable convergence in 250 iterations for a 16-node network with up to four links. Still, there are much larger questions that remain unanswered. First, will this neural network routing algorithm converge satisfactorily to a reasonable answer for a larger

30

IEEE Control Systems Magazine

Herbert E. Rauch received the B.S. degree from the California Institute of Technology and the M.S. and Ph.D. degrees from Stanford University, all in electrical engineering. After working briefly at the Hughes Space Division, he joined the Lockheed Palo Alto Research Laboratory, where he is now a Senior Member of the Laboratory. He has served three one-year terms as Chairman of the local joint chapter of the IEEE Control Systems Society/Systerns, Man, and Cybernetics Society and has re-

ceived the IEEE Community Service Award for Region 6 . He is in his fourth year as Editor of the IEEE Control Systems Magazine, and he has been a member of the Board of Governors of the IEEE Control Systems Society since 1984. From 1984 to 1987, Dr. Rauch served as Chairman of the Mathematics of Control Committee of the International Federation of Automatic Control; he is a member of the Publications Committee of the American Institute of Aeronautics and Astronautics, and he is a Fellow of the American Astronautical Society. His technical interests include optimal control, trajectory estimation, signal processing, and target detection and tracking. He has done some work on expert systems for tactical data fusion and is currently working on communication network analysis.

The0 Winarske received the B.A. degree in mathematics and the M . S . degree in applied mathematics from San Jose State University. He taught high school mathematics briefly and then joined the Lockheed Palo Alto Research Laboratory, where he is a Staff Scientist. He is interested in efficient utilization of computers as problem-solving tools and recently has worked on interactive computer graphics for system analysis.

Conference Calendar
1988 New Listings
Third International Symposium on Differential Games and Applications, June 16-17, 1988, INRIA Sophia Antipolis, France. Symposium Cochairmen are T. Basar (University of Illinois) and P. Bernhard (INRIA). Before April 5, 1988, prospective authors are invited to send title and extended abstract (approximately 500 words) for their proposed contribution to: Symposium on Differential Games, INRIA Sophia Antipolis, 06565 Valbonne Cedex. France, phone: 93 65 77 77. 1988 Conference for University Programs in Computer-Aided Engineering, Design, and Manufacturing (UPCAEDM), June 27-29, 1988, Georgia Institute of Technology, Atlanta, Georgia. Contact: Judy Alexander, phone: (404) 894-5639. 1988 IEEE International Conference on Neural Networks, July 24-27, 1988, San Diego, California. Contact: Nomi Feldman, Conference Coordination, 3770 Tansy Street, San Diego, CA 92121, phone: (619) 4536222
I101 West Springfield Ave., Urbana, IL 61801. For regular papers, title and 5-lO-page extended abstract, and

1989 New Listings


1989 IEEE International Conference on Control and Applications April 3-6. 1989 Jerusalem. Israel

Third IEEE International Symposium on Intelligent Control August 24-26, 1988 Key Bridge Mamott, Arlington, Virginia

General Chairman: H. E. Stephanou George Mason University Elect. & Comp. Engin. Fairfax. VA 22030 Phone: (703) 323-3451

for short papers, title and 1ooO-word summary are required. Twenty-Second Annual Asilomar Conference on Signals, Systems, and Computers, October 3 I -November 2, 1988. Pacific Grove, California. Before June I , 1988, prospective authors should submit, in tnplicate, an abstract and an extensive summary to John T. Rickard. Technical Program Chairman, Orincon Corporation, 3366 N. Torrey Pines Ct.. Suite 300. La Jolla, CA 92037. Twentieth JAACE Symposium on Stochastic Systems Theory and Its Applications, November 16-18, 1988, Mita Press. Osaka, Japan. Send abstract by June 10, 1988. Contact: Prof. Y . Sunahara, Dept. of Mechanical Engineering, Kyoto Institute of Technology, Matsugasaki, Sakyo-ku, Kyoto 606, Japan, Tel. & Fax (direct): Nat. 075-721-7086; Int. + 81 (Japan) 75-7217086. Topics include: analysis of stochastic processes and systems, system identification and parameter estimation, state estimation and control of stochastic systems, signal detection and random signal processing. time series analysis and spectral estimation, fast algorithms on signal processing and filtering, and engineering-related applications. Second International Conference on Computer Vision, December 5-8, 1988. Tarpon Springs, Florida. By May 15, 1988, prospective authors should send four copies of complete drafts of submitted papers to Ruzena Bajcsy, University of Pennsylvania, Dept. of Computer and Information Science, 200 S. 33rd St.. Philadelphia, PA 19104-6389. For further information, write to: ICCV '88, c/o IEEE Computer Society, 1730 Massachusetts Ave., NW. Washington, DC 20036-1903.

Before August 15, 1988. prospective authors should submit six copies of a regular paper or four copies of a short paper (extended summary) to: Abraham H. Haddad 1989 ICCON Cochairman School of Electrical Engineering Georgia Institute of Technology Atlanta, GA 30332-0250 Phone: (404) 894-3930 or -5652
1989 IEEE International Conference on Robotics and Automation, May 15-19. 1989, Scottsdale. Arizona. Contact: Prof. George Bekey, General Chairman, Computer Science Dept., University of Southern California, Los Angeles, CA 90089-0782, phone: (213) 7432995 1989 American Control Conference June 21-23, 1989 Pittsburgh, Pennsylvania

1988 International Neural Network Snciety Annual Meeting, September 6-10, 1988, Boston, Massachusetts. For information, contact: Neural Networks 1988, J. R. Schuman Associates. 316 Washington St., P.O. Box 125, Wellesley, MA 02181, phone: (617) 235-7500 or (800) 52 1-5 144. Twenty-Sixth Annual Allerton Conference, September 28-30, 1988, Allerton House, conference center of the University of Illmois. By July 15. 1988. prospective authors should send two copies of manuscript to Allerton Conference, c/o Prof. M. W. Spong, University of Illinois at Urbana-Champaign, Coordinated Science Lab.,

General Chairman: H. Vincent Poor Coordinated Science Laboratoly University of Illinois at Urbana-Champaign 1101 West Springfield Ave. Urbana, 1L 61801 Phone: (217) 333-6449

1988 IEEE Conference on Decision and Control December 7-9, 1988 Hyatt Regency, Austin, Texas

1988 Previous Listings


IFACIIMEKOIIMASC Symposium on Modeling and Control in Biomedical Systems, Apr. 6-8, 1988, Venice, Italy. Contact: Prof. C. Cobelli, Istituto di Elettrotecnica e di Eletronica, University of Padova, Via Gmdenigo 6/a. 1-35131 Padova. Italy. Continued on p. 12.

General Chairman: Michael P. Polis Dept. of Electrical and Computer Engineering Wayne State University Detroit, MI 48202 Phone: (313) 577-3920

April 1988

31