$title Shortest Route Algorithm (SROUTEX,SEQ=93) $onText The problem is to find the shortest route or lowest transport cost from each city to all others. This example is the same as sroute except a shortest path algorithm is written using loops. Dantzig, G B, Chapter 17.3. In Linear Programming and Extensions. Princeton University Press, Princeton, New Jersey, 1963. Keywords: shortest route, graph theory $offText Set i 'cities' / boston , chicago , dallas kansas-cty, losangeles, memphis portland , salt-lake , wash-dc /; Alias (i,j,k); Parameter a(i,j) 'arcs and cost' / boston .chicago 58, kansas-cty .memphis 27 boston .wash-dc 25, kansas-cty .salt-lake 66 chicago .kansas-cty 29, kansas-cty .wash-dc 62 chicago .memphis 32, losangeles .portland 58 chicago .portland 130, losangeles .salt-lake 43 chicago .salt-lake 85, memphis .wash-dc 53 dallas .kansas-cty 29, portland .salt-lake 48 dallas .losangeles 85, dallas .memphis 28 dallas .salt-lake 75 /; Parameter f(i,j) 'shortest route between two cities'; option a:0, f:0; Scalar old 'old total distance' new 'new total distance'; a(i,j) = max(a(i,j),a(j,i)); display a; f(i,j) = inf; f(i,i) = 0; f(i,j) $= a(i,j); loop(i, new = na; repeat( f(i,j)$(not sameas(i,j)) = smin(k$a(k,j), f(i,k) + a(k,j)); old = new; new = sum(j$(f(i,j) < inf), f(i,j)); until old = new); ); display f;