Conventionally, a quadratic program (QP) is formulated this way:
ILOG CPLEX distinguishes two kinds of Q matrices:
ILOG CPLEX optimizes only convex quadratic minimization problems or equivalently, only concave quadratic maximization problems, as illustrated in Figure 7.1. For convex QPs, Q must be positive semi-definite; that is, the term x'Qx 0 for all x, whether or not x is feasible. For concave maximization problems, the requirement is that Q must be negative semi-definite; that is, x'Qx 0 for all x. In a minimization problem, if Q is separable and positive semi-definite, then Q 0.
Figure 7.1 Maximize a Concave Objective Function, Minimize a Convex Objective Function
In this chapter, we assume you have some familiarity with quadratic programming. For a more complete explanation of quadratic programming generally, we recommend you consult a text such as one of those listed in Further Reading.