Changing variable type from integer to continuous makes quadratic constraints non-convex
回答済みHello,
I am trying to solve a mixed-integer QP with quadratic constraints. The problem contains therefore both continuous and discrete variables to learn, and is solved efficiently using Gurobi.
However, when I attempt to relax my problem manually by changing some of the variable types to continuous instead of integer, Gurobi tells me that the quadratic constraints are non-convex. How is that possible since I just changed some of the variable types from integer to continuous and not the constraints? Isn't Gurobi supposed to relax those integrality constraints anyway in the branch-and-bound algorithm, so if the constraints are non-convex shouldn't I get the error also when there are additional integrality constraints?
-
正式なコメント
This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum. Or why not try our AI Gurobot?. -
Hi Thibaut,
Gurobi uses presolving techniques to reformulate multiplications of binary/integer variables in a way to obtain a MILP, see e.g., multiplication of continuous and binary variables. You could say that the nonconvexity is hidden in the mixed-integer part.
However, when you make all variables continuous, then there are no reformulations and tricks available to formulate the problem as a MILP. In some cases, it is possible to reformulate the problem into a SOCP but this does not seem to be true for your problem. Thus, you end up with a nonconvex problem.
Best regards,
Jaromił0 -
Hi Jaromił,
Thanks a lot for your quick and detailed response!
I understand now, it makes perfect sense.
Best regards,
Thibaut
0
投稿コメントは受け付けていません。
コメント
3件のコメント