“…• A well-known idea for speeding up Dijkstra's algorithm in practice is to replace the cost of an edge (v, w), originally c({v, w}), by c (v, w) := c({v, w}) − π(v) + π(w), where π : V (G) → R satisfies π(t) = 0 for t ∈ T and π(v) ≤ c({v, w}) + π(w) for {v, w} ∈ E(G) (and hence π(v) is a lower bound on the length of a path from v to T ) (Pohl [1971], Rubin [1974]). The better this lower bound is, the shorter is the distance from S to T with respect to c , and the fewer vertices are labelled by Dijkstra's algorithm.…”