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 righthand sides (RHS) 



is the vector of lower bounds on the decision variables 



is the vector of upper bounds on the decision variables 
Number of variables (columns) 
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 matrixmatrix multiplication
or as a consequence of physical laws, and so on. See Figure 12.1 for 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.