I need to understand what exactly Gurobi does for the different values of NumericFocus. I would be very grateful for any explanations or pointers to relevant documentation!
I hope that understanding better, what setting NumericFocus=2 and NumericFocus=3 does, will gain me some understanding of what exactly is causing the numerical issue I am facing, since I am currently still in the Dark on where the issues lies.
The reason is the following:
I am debugging a program, that exhibits numerical issues (more details here: https://support.gurobi.com/hc/en-us/community/posts/360055747932-Constraint-violation-after-changing-cost-values-in-an-existing-code-base?page=1#community_comment_360008875352)
I have now found that setting NumericFocus=3 (along with some other parameters) solves the issues, but makes solving extremely slow. Furthermore, relaxing the parameter to NumericFocus=2 still exhibits the numerical issue, but does increase performance.
In the Gurobi Guidelines for Numerical Issues (http://www.gurobi.cn/download/GuNum.pdf) I found the following statement:
"However, when NumericFocus helps numerics but makes everything much slower, you can try setting Quad=1 and/or larger values of MarkowitzTol such as 0.1 or 0.5."
Following this I set Quad=1 and MarkowitzTol=0.5, which again still exhibits the numerical issues, but also increases performance.
Hence, setting NumericFocus=3 does something that solves the issue, but I do not know what it does! Hence my question ...
Thanks and best regards,
Please sign in to leave a comment.