The field of optimization (or mathematical programming) is concerned with the minimization (or maximization) of functions of several variables and the satisfaction of constraints imposed on these variables.
An important concept in optimization is the convexity of the function. To illustrate this, see a convex function as a pot or a valley between mountains which captures the rain into a lake, while a concave function can be pictured as a hill. Knowing that a function is convex is good, because then we just have to follow the rain drops to the bottom of the lake to find the minimum. On the other hand, for concave functions, we have to go all around the hill while measuring the altitude.