Find the global solution for QCQP question
AnsweredDear Gurobi Community,
I'm trying to solve a QCQP question using Python. And hope to find a global solution. I added m.Params.NonConvex = 2 in my code, but the result cannot get a global solution, since I check the answer by hand, and I can find a better objective value. Now, I'm wondering does Gurobi always give a global solution for QCQP questions? If so, could you please give me some hints about what should I focus on or add to my code? Thank you!
-
Hi Yutian,
Gurobi solves an instance of non-convex QCP problem to optimality. Please note that the default value of the NonConvex parameter is changed to 2 starting from Gurobi version 11.0.0. Therefore, there is no need to set it to 2 explicitly.
the result cannot get a global solution, since I check the answer by hand, and I can find a better objective value
The default lower bounds of the variables in Gurobi is 0. If the variables in the better solution you constructed take negative values, you should set the variables' lower bound accordingly when using Model.addVar() or Model.addVars() APIs to define variables.
If the LB is not the issue, you can evaluate Gurobi at your better solution by fixing each variable's lower and upper bound at its value in the better solution you constructed. This would shed light on why Gurobi does not report this as a feasible solution.
Best regards,
Maliheh
1 -
Please also see the article Why does Gurobi report my model is infeasible when it has a feasible solution?
1
Please sign in to leave a comment.
Comments
2 comments