Overview: OPTQP Procedure

The OPTQP procedure solves quadratic programs—problems with quadratic objective function and a collection of linear constraints, including lower or upper bounds (or both) on the decision variables.

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 , 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; it is required to be negative semidefinite for the 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 12.1 for examples of convex, concave, and nonconvex objective functions.

Figure 12.1 Examples of Convex, Concave, and Nonconvex Objective Functions
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.