The Shortest Path Problem on Real Road Networks: Theory, Algorithms and Computations