# Second order cone programming (SOCP) and non PSD

Relates convexity and positive semi-definiteness to second order cone programming.

There is one exception to the PSD requirement; that is, there is an additional form of quadratic constraint which is accepted but is not covered by the general formulation in Identifying a quadratically constrained program (QCP). Technically, the class of quadratically constrained problems that the barrier optimizer solves is a Second-Order Cone Program (SOCP). CPLEX, through its preprocessing feature, carries out the translation to SOCP for you, transparently, returning the solution in terms of your original formulation. A constraint will be accepted for solution by the barrier optimizer if it can be transformed to the following convex second-order cone constraint:

CPLEX automatically transforms quadratic constraints of these types into second order cone constraints:

`x'Qx <= y² where y >= 0 and Q is PSD`

`x'Qx <= yz where y >= 0 , z >= 0, and Q is PSD`

When Q is the identity matrix, that formulation is known as a rotated cone. CPLEX automatically translates those formulations as well and solves the rotated cone program for you transparently.

For further background about second order cone programming, see also the topic Examples: SOCP. For suggestions about accessing dual values and reduced costs of SOCP models, see the topic Accessing dual values and reduced costs of SOCP solutions. Those topics cite the Lagrangian representation of second order cone programs and second order cone constraints.