Optimization or mathematical programming is a search for a maximum or minimum of an objective function (also called a cost function), where search variables are restricted to particular constraints. Constraints are said to define a feasible region (see FigureĀ 5.1).
Figure 5.1: Examples of Feasible Regions
A more rigorous general formulation of such problems is as follows.
Let
be a real-valued function. Find such that
Note that the formulation is for the minimum of f and that the maximum of f is simply the negation of the minimum of .
Here, function f is the objective function, and the variable in the objective function is called the optimization variable (or decision variable). S is the feasible region. Typically S is a subset of the Euclidean space specified by the set of constraints, which are often a set of equalities (=) or inequalities () that every element in S is required to satisfy simultaneously. For the special case where , the problem is an unconstrained optimization. An element x of S is called a feasible solution to the optimization problem, and the value is called the objective value. A feasible solution that minimizes the objective function is called an optimal solution to the optimization problem, and the corresponding objective value is called the optimal value.
In mathematics, special notation is used to denote an optimization problem. Generally, you can write an optimization problem as follows:
Normally, an empty body of constraint (the part after "subject to") implies that the optimization is unconstrained (that is, the feasible region is the whole space ). The optimal solution () is denoted as
The optimal value () is denoted as
Optimization problems can be classified by the forms (linear, quadratic, nonlinear, and so on) of the functions in the objective and constraints. For example, a problem is said to be linearly constrained if the functions in the constraints are linear. A linear programming problem is a linearly constrained problem with a linear objective function. A nonlinear programming problem occurs where some function in the objective or constraints is nonlinear, and so on.