Optimization - searching for a solution that maximizes or minimizes some function.
See Algorithms/Dynamic Programming