The process of finding the best solution for a problem, by maximizing or minimizing an objective function.