ILOG CPLEX 11.0 User's Manual > Continuous Optimization > Solving Problems with a Quadratic Objective (QP) > Identifying Convex QPs

Conventionally, a quadratic program (QP) is formulated this way:

Minimize    1/2 xTQx + cTx

subject to   Ax ~ b

with these bounds l  x  u

where the relation ~ may be any combination of equal to, less than or equal to, greater than or equal to, or range constraints. As in other problem formulations, l indicates lower and u upper bounds. Q is a matrix of objective function coefficients. That is, the elements Qjj are the coefficients of the quadratic terms xj2, and the elements Qij and Qji are summed together to be the coefficient of the term xixj.

ILOG CPLEX distinguishes two kinds of Q matrices:

ILOG CPLEX can solve minimization problems having a convex quadratic objective function. Equivalently, it can solve maximization problems having a concave quadratic objective function. All linear objective functions satisfy this property for both minimization and maximization. However, you cannot always assume this property in the case of a quadratic objective function. Intuitively, recall that any point on the line between two arbitrary points of a convex function will be above that function. In more formal terms, a continuous segment (that is, a straight line) connecting two arbitrary points on the graph of the objective function will not go below the objective in a minimization, and equivalently, the straight line will not go above the objective in a maximization. Figure 12.1 illustrates this intuitive idea for an objective function in one variable. It is possible for a quadratic function in more than one variable to be neither convex nor concave.

images/solveQPa.gif

Figure 12.1 Minimize a Convex Objective Function, Maximize a Concave Objective Function

In formal terms, the question of whether a quadratic objective function is convex or concave is equivalent to whether the matrix Q is positive semi-definite or negative semi-definite. For convex QPs, Q must be positive semi-definite; that is, xTQx  0 for every vector x, whether or not x is feasible. For concave maximization problems, the requirement is that Q must be negative semi-definite; that is, xTQx  0 for every vector x. It is conventional to use the same term, positive semi-definite, abbreviated PSD, for both cases, on the assumption that a maximization problem with a negative semi-definite Q can be transformed into an equivalent PSD.

For a separable function, it is sufficient to check whether the individual diagonal elements of the matrix Q are of the correct sign. For a nonseparable case, it may be less easy to decide in advance the convexity of Q. However, ILOG CPLEX detects this property during the early stages of optimization and terminates if the quadratic objective term in a QP is found to be not PSD.

For a more complete explanation of quadratic programming generally, a text, such as one of those listed in Further Reading of the preface of this manual, will be helpful.