toms456, a FORTRAN77 code which implements ACM toms algorithm 456, for the routing problem.

The text of many ACM toms algorithms is available online through ACM: or NETLIB:


call routng ( n, p, sn, en, m, d, l, r )
N is the number of nodes,
P is the node number index, but on output is replaced by the optimal connection,
SN and EN are the start and end nodes,
M is the order of the distance matrix,
D is the distance matrix,
L is output as the length of the shortest connection,
R is the number of runs (that is, the number of iterations of the algorithm. This should be less than or equal to 2*N).


The computer code and data files described and made available on this web page are distributed under the MIT license


toms456 is available in a FORTRAN77 version.

Related Programs and Data:


cities, a FORTRAN90 library of which defines various problems associated with a set of "cities" on a map.

CITIES, a dataset directory which contains some sets of intercity distances that can be used with this code.

LAU_NP, a FORTRAN90 library which includes a routine for the heuristic solution of the traveling salesman problem.


  1. Zdenek Fencl,
    Algorithm 456: Routing Problem,
    Communications of the ACM,
    Volume 16, Number 9, September 1973, pages 572-574.

Source Code:

Last revised on 18 November 2023.