On algorithms for finding the k shortest paths in a network