Finding a path is relatively trivial, I got that working in about an hour. But doing it quickly is more difficult.

I've been looking for research papers on the subject, but thus far hadn't found anything of interest.