> I think you are confusing dynamic programming with branch-and-bound> methods. (What you are describing sounds more like branch-and-bound.)

I'm not sure what I have it confused with. However, having refreshed
my memory, I realize that I have at least one part of it completely
inverted, the need for backtracking. My incorrect recollection was
that it was used in the case where backtracking was required (and in
some sense described that need). However, it, of course, applies to
the opposite case, where one can memoize a value and thus not repeat
calculating it when needed again. From that fundamental flaw, all
else follows.

Sometimes we post to help, and sometimes to get helped. Not always
when we think we are.