In previous chapters, we tackled black box optimization problems in which we aimed solely to maximize the objective function, without any other considerations. This is called an unconstrained optimization problem as we are free to explore the search space to look for the global optimum of the objective function. Many real-life situations do not follow this unconstrained formulation, however, and there might be a cost associated with the objective function’s global optimum that makes the optimum infeasible to achieve in practice.