The OPTMODEL procedure provides a framework for specifying and solving quadratic programs.
Mathematically, a quadratic programming (QP) problem can be stated as follows:
|
|
|
|
|
|
where
|
|
|
is the quadratic (also known as Hessian) matrix |
|
|
|
is the constraints matrix |
|
|
|
is the vector of decision variables |
|
|
|
is the vector of linear objective function coefficients |
|
|
|
is the vector of constraints right-hand sides (RHS) |
|
|
|
is the vector of lower bounds on the decision variables |
|
|
|
is the vector of upper bounds on the decision variables |
The quadratic matrix is assumed to be symmetric; that is,
|
Indeed, it is easy to show that even if , then the simple modification
|
produces an equivalent formulation hence symmetry is assumed. When you specify a quadratic matrix, it suffices to list only lower triangular coefficients.
In addition to being symmetric, is also required to be positive semidefinite for minimization type of models:
|
is required to be negative semidefinite for maximization type of models. Convexity can come as a result of a matrix-matrix multiplication
|
or as a consequence of physical laws, and so on. See Figure 9.1 for examples of convex, concave, and nonconvex objective functions.
Figure 9.1: Examples of Convex, Concave, and Nonconvex Objective Functions
The order of constraints is insignificant. Some or all components of or (lower and upper bounds, respectively) can be omitted.