Introduction to Constrained Optimization in the Wolfram Language
Constrained optimization problems are problems for which a function is to be minimized or maximized subject to constraints . Here is called the objective function and is a Boolean-valued formula. In the Wolfram Language the constraints can be an arbitrary Boolean combination of equations , weak inequalities , strict inequalities , and statements. The following notation will be used.
If is a continuous function and the set of points satisfying the constraints is compact (closed and bounded) and nonempty, then a global minimum exists. Otherwise a global minimum may or may not exist.
The methods used to solve local and global optimization problems depend on specific problem types. Optimization problems can be categorized according to several criteria. Depending on the type of functions involved there are linear and nonlinear (polynomial, algebraic, transcendental, ...) optimization problems. If the constraints involve , you have integer and mixed integer-real optimization problems. Additionally, optimization algorithms can be divided into numeric and symbolic (exact) algorithms.
Wolfram Language functions for constrained optimization include Minimize, Maximize, NMinimize, and NMaximize for global constrained optimization, FindMinimum for local constrained optimization, and LinearProgramming for efficient and direct access to linear programming methods. The following table briefly summarizes each of the functions.
numeric local optimization
linear programming methods, nonlinear interior point algorithms, utilize second derivatives
numeric global optimization
linear programming methods, Nelder-Mead, differential evolution, simulated annealing, random search
exact global optimization
linear programming methods, cylindrical algebraic decomposition, Lagrange multipliers and other analytic methods, integer linear programming
linear programming methods (simplex, revised simplex, interior point)