12.07.2015 Views

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Figure 13.3y(0, 1)(-1, 0)f(1, 0)xe(-1, -1)Figure 13.3 x 2 + y 2 = 1 is not convexSemi-definitenessIdentifying a Quadratically Constrained Program (QCP) on page 239 explained that thequadratic matrix in each constraint must be positive semi-definite (PSD), thus providingconvexity. A matrix Q i is PSD if x T Q i x ≥ 0 for every vector x, whether or not x is feasible.Other issues pertaining to positive semi-definiteness are discussed in the context of aquadratic objective function in Identifying Convex QPs on page 228.When you call the barrier optimizer, your quadratic constraints will be checked for thenecessary PSD property, and an error status 5002 will be returned if any of them violate it.Second Order Cone Programming (SOCP)There is one exception to the PSD requirement; that is, there is an additional form ofquadratic constraint which is accepted but is not covered by the general formulation inIdentifying a Quadratically Constrained Program (QCP) on page 239. Technically, thequadratically constrained problem class that the barrier optimizer solves is a Second-OrderCone Program (SOCP). <strong>ILOG</strong> <strong>CPLEX</strong>, through its preprocessing feature, makes thetranslation to SOCP for you, transparently, returning the solution in terms of your originalformulation. A constraint will be accepted for solution by the barrier optimizer if it can betransformed to the following convex second-order cone constraint:∑2– c 0x 0+ c ix2i≤ 0That formulation is distinguished primarily by the specific signs of the coefficients c and bythe lack of a linear term, where x 0 is a nonnegative variable242 <strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!