Optimality proof for MINLP
AnsweredGood morning everyone,
I'm working on a non-convex (bilinear) mixed integer problem and I'm using the spatial B&B, branch-and-cut and barrier methods to solve (I mean gurobi is using them: shoutout to them!). The question I have regards the optimality proof, because the gap between the incumbment and the best bound is about 0.1% on average, but sometimes I get a gap of about 20% and even setting up the solver to be aggressive in these moments and to take as much time as he wants does not help reducing the gap. Out of your experience with non-linear problems, do you have any suggestions/best practices you suggest me to take?
Best and wish you a happy new year,
Marco
-
Hi Marco,
Happy (soon-to-be) new year to you, as well!
If your model includes bilinear terms, the most impactful modeling lever is usually tight variable bounds (especially on variables participating in products). Loose bounds can lead to weak relaxations and a slow-moving dual bound. If you can derive tighter bounds using domain knowledge (and tighten any Big‑M constants), this can often reduce the amount of branching. You can also experiment with increasing the aggressiveness of optimality-based bound tightening by adjusting the
OBBTparameter.It is often helpful to adjust parameters based on the information your logs provide. If the incumbent is weak, you can try allocating more effort to finding feasible solutions (e.g., increase
Heuristicsand/orNLPHeur). You may also want to try Gurobi's no-relaxation heuristic, which can be activated by setting theNoRelHeurTimeparameter. If you have good incumbents but the bound is slowly improving, try shifting effort toward improving the bound (e.g., usingMIPFocus=2, orMIPFocus=3). Other parameters you may want to experiment with includePresolve,PreQLinearize, andMIQCPMethod. Finally, please check model numerics (e.g., coefficient ranges and warnings in the log). Poor model numerics can sometimes have a dramatic impact on convergence.Two additional suggestions: first, if you're not already on the latest release, Gurobi 13.0 includes substantial speedups for nonconvex MIQCP and MINLP benchmarks, so if you haven't already, upgrading may be worthwhile. Second, if you believe parameter tuning might help for your specific problem class, Gurobi's Parameter Tuning Tool can automate the search for better settings (with the caveat that tuning complements rather than replaces good modeling and numerics).
I'd suggest trying the above modeling and log-driven parameter changes on one of your "hard" instances first. If the large gap persists, feel free to follow up with your Gurobi version, the non-default parameters you're using, and a log excerpt. If you think sharing a model instance would be helpful, note that uploading files in the Community Forum is not possible; however, we discuss an alternative in Posting to the Community Forum.
1 -
Hi Byron,
Thanks a lot for the insights, really interesting and exhaustive.
Wish you a great 2026 start,
Marco
1
Please sign in to leave a comment.
Comments
2 comments