The Nature of Mathematical Programming
Maximize f(x): x in X, g(x) <= 0, h(x) = 0,where X is a subset of Rn and is in the domain of the functions, f, g and h, which map into real spaces. The relations, x in X, g(x) <= 0 and h(x) = 0 are called constraints, and f is called the objective function.
There are, however, forms that deviate from this paradigm, and it is typically a modeling issue to find an equivalent standard form. Important examples are as follows:
A point x is feasible if it is in X and satisfies the constraints: g(x) <= 0 and h(x) = 0. A point x* is optimal if it is feasible and if the value of the objective function is not less than that of any other feasible solution: f(x*) >= f(x) for all feasible x. The sense of optimization is presented here as maximization, but it could just as well be minimization, with the appropriate change in the meaning of optimal solution: f(x*) <= f(x) for all feasible x.
A mathematical program is often extended to indicate a family of mathematical programs over a parameter space, say P. This merely involves extending the domain of the functions, f, g and h, and we use the semi-colon to separate the decision variables from the parameters.
Maximize f(x; p): x in X, g(x; p) <= 0, h(x; p) = 0.(We could also have X depend on p, but this form generally suffices.)
Mathematical programming is the study or use of the mathematical program. It includes any or all of the following:
One taxonomy for mathematical programming is by its defining ingredients: