Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
  • 1.  SOCP constraint with linear term

    Posted Thu October 17, 2024 11:20 AM
      |   view attached

    Hello everyone,

    I'm starting this discussion because I'm encountering an issue while trying to solve a QCP model with an SOCP constraint that includes a linear term. Specifically, I have a minimization problem with the following inequality: 'quad_aux_con_0': x + [ y * z - w^2 ] >= 0. When I attempt to solve the model directly, I get the following error: CPLEX Error 5002: 'quad_aux_con_0' is not convex.

    Interestingly, if I remove the linear term 'x' from the constraint, the model solves without any issues. However, the equation, whether it includes 'x' or not, should still qualify as an SOCP.

    I've also attached an .lp file containing the instance that reproduces the error. While the model is a bit more complex, the issue consistently occurs with the 'quad_aux_con_0' constraint.

    Thank you in advance,

    Enrico Calandrini



    ------------------------------
    Enrico Calandrini
    ------------------------------

    Attachment(s)

    lp
    uc_blk_es.lp   9 KB 1 version


  • 2.  RE: SOCP constraint with linear term

    Posted Tue November 05, 2024 04:24 PM

    CPLEX is correct that the original constraint is not convex. Consider the points (x, y, z, w) = (2, 2, 1, 2) and (0, 4, 4, 4), both of which satisfy the constraint. The midpoint between them is (1, 3, 2.5, 3), which does not satisfy the constraint.

    To be honest, I'm not sure why the constraint without x is convex. When I removed x from all four quadratic constraints and ran it through CPLEX, the log contained the following:

    QCP Presolve eliminated 47 rows and 57 columns.
    Aggregator did 4 substitutions.
    Reduced QCP has 19 rows, 22 columns, and 44 nonzeros.
    Reduced QCP has 7 quadratic constraints.

    Note that presolve raised the number of quadratic constraints from four to seven. So there's some presolve magic that let you have the quadratic constraints without x.



    ------------------------------
    Paul Rubin
    Professor Emeritus
    Michigan State University
    ------------------------------



  • 3.  RE: SOCP constraint with linear term

    Posted Sun November 24, 2024 05:05 AM

    Hi Paul,

    Thank you for your reply.

    Regarding the constraint without <math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math> it should be a rotated Lorentz cone constraint, which can be reformulated to match the definition of an SOCP (assuming <math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y \geq 0</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">z \geq 0</annotation></semantics></math>, which I neglected to specify earlier). Do you agree?

    I mistakenly assumed that adding a linear term to a quadratic convex constraint would preserve its convexity, but you have proven otherwise. Thank you once again for your assistance.

    Best regards,
    Enrico Calandrini



    ------------------------------
    Enrico Calandrini
    ------------------------------



  • 4.  RE: SOCP constraint with linear term

    Posted Sun November 24, 2024 02:31 PM

    I agree that without x it satisfies the definition of a rotated Lorentz cone. You're welcome for the help.



    ------------------------------
    Paul Rubin
    Professor Emeritus
    Michigan State University
    ------------------------------