Heuristics for large scale dynamic programming