See [[Linear Programming]]. See [[Memoization]].