Quadratic constraint sense

378 views
Skip to first unread message

alan

unread,
Jun 12, 2012, 12:33:55 PM6/12/12
to Gurobi Optimization
I am using Gurobi v5 to solve a quadratic problem with quadratic
constraints. I am using the Matlab Interface. My quadratic constraint
has the form:

lb<= x'.Qc.x + q.x <= ub. The Matlab reference manual says that
gurobi accepts quadratic constraints with the form x'*Qc*x + q'*x <=
beta.

So, my problem is that I have a lower bound for the quadratic
constraint, which gurobi cannot manage. I could manipulate the
expression so that the 'beta' variable would be '- lb', but is this
case my Qc matrix would have its signal inverted too, so it would not
be Positive Semi-Definite.

My question is: Is there a parameter where I can inform the sense of
the quadratic constraint so I could pass my lower bound lb to the
solver? I saw that the java version of the solver has this option
(method addQConstr, parameter sense). I tried to define in matlab
model.quadcon(x).sense = '>' or '>='. When I run the code it presents
no syntax error, but no solution is computed. I figured that
quadcon.sense doesn't exist since it doesn't appear in the doc and if
I comment the line the result is the same, no computed solution.

I hope I have been clear and you are able to help me.

Cordially,

Christopher Maes

unread,
Jun 12, 2012, 1:37:33 PM6/12/12
to gur...@googlegroups.com
Hi Alan,

If the matrix Qc is not zero, in general, the constraints
lb <= x'*Qc*x + q'*x <= ub
are non-convex. Gurobi only supports convex quadratic constraints.

As you noted, the MATLAB interface only support quadratic constraints
of the form:
x'*Qc*x + q'*x <= beta,
with Qc positive semidefinite. This ensures convexity. The other
programming language interfaces do allow you to specify the sense of a
quadratic constraint, but the constraint must still be convex or be
able to be transformed into convex constraint.

I hope that answers your question.

Chris
Reply all
Reply to author
Forward
0 new messages