In general, it's hard to tell whether a model can be reformulated to improve performance. Sometimes, ideas for improving the model formulation can come from Gurobi's output. For example, if the root relaxation provides a weak initial dual bound, it may be possible to tighten the model formulation by reformulating the constraints (e.g., tightening big-M values or disaggregating constraints). See the documentation on MIP Logging for more details.
Our Tech Talks on how to improve weak formulations are a great way to get started with this topic:
- Tech Talk & Chat– Converting Weak to Strong MIP Formulations - Gurobi Optimization
- Tech Talk & Chat– Converting Weak to Strong MIP Formulations, Part II - Gurobi Optimization
In general, solving a MIP is NP-hard. It can happen that small or seemingly "easy" instances require a long time to solve, or even to find a feasible solution.
Model reformulations tend to have a greater impact on Gurobi's performance than solver parameters. That said, if you would like to try improving Gurobi's performance through parameters, MIPFocus is a good parameter to start with. You can read more about the different parameter types in the MIP Models section of the documentation.
Please sign in to leave a comment.