Seeking Advice on Handling Infeasibility Issues in Gurobi MINLP Solver for Bilinear Problems
Awaiting user inputHi,
I have a question regarding the use of the MINLP solver of Gurobi for my bilinear problem. Due to the complexity of the problem, I have encountered some issues. Specifically, due to numerical errors, the solver sometimes returns an infeasible solution instead of an optimal or feasible one.
In my algorithm, I add a cut in each iteration to exclude the previously found solution. However, in some cases, the solver returns the previously excluded solution in the current iteration, which is not acceptable and not feasible.
Could you please advise on my options to reduce or eliminate these issues? I understand that nonlinear solvers may not be perfect, but I want to address this problem as effectively as possible.
One potential approach is to allow the solver to run until it finds a new feasible solution, which would be sufficient for our purposes. We could potentially output the results to a text file and monitor them simultaneously, stopping the solver as soon as a new feasible solution is found. However, I am concerned that the coding for this approach might be complex.
Could you share your thoughts on this? Is there an easier way to handle this issue?
Any help would be greatly appreciated.
Best,
Samira
-
I want to add that I have a bilinear term, and one of the terms does not have any bounds in theory. To address this, we set the bound to -10^{20}, which introduces a numerical error.
0 -
Hi Samira,
Specifically, due to numerical errors, the solver sometimes returns an infeasible solution instead of an optimal or feasible one.
Could you please share more details on this behavior? In particular, could you please share the log and possibly share one such model and explain in detail what is happening and what you expect to happen? Note that uploading files in the Community Forum is not possible but we discuss an alternative in Posting to the Community Forum.
I want to add that I have a bilinear term, and one of the terms does not have any bounds in theory. To address this, we set the bound to -10^{20}, which introduces a numerical error.
Please note that introducing such large bounds is often worse than not introducing any. If you would like to provide finite bounds, they should not be larger than +-1e9. In best case they should be +-1e6.
Best regards,
Jaromił0
Please sign in to leave a comment.
Comments
2 comments