The following report describes some techniques that generalize and attempt to improve upon the Coarse-to-Fine Dynamic Programming (CFDP) algorithm developed by Christopher Raphael. CFDP uses a hierarchy of abstraction graphs, iteratively searches to find optimal paths, and refines those paths until a base level is found. Our most successful approach introduces a cached heuristic that reduces the effort spent re-searching in a graph.