I agree that without x it satisfies the definition of a rotated Lorentz cone. You're welcome for the help.
Original Message:
Sent: Sun November 24, 2024 05:05 AM
From: Enrico Calandrini
Subject: SOCP constraint with linear term
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
Original Message:
Sent: Tue November 05, 2024 04:24 PM
From: Paul Rubin
Subject: SOCP constraint with linear term
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
Original Message:
Sent: Wed October 16, 2024 04:42 AM
From: Enrico Calandrini
Subject: SOCP constraint with linear term
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
------------------------------