Setting IntegralityFocus=1 accelerates solution?
AnsweredI am solving a series of linear integer programming problems with gurobipy. The solutions I originally got weren't exactly integral, so I set the IntegralityFocus parameter to be 1. Now I get integral solutions, but there was also an additional nice surprise: gurobi solves the problems about 90% faster now. While this is a pleasant surprise, I would like to look this gift horse in the mouth: I am trying to understand how this acceleration can happen, even in theory. Thank you!
-
Hi,
Sometimes even small changes in the solution path (which is the case when you change parameter settings) can have huge effects on the performance, this is called "solver variability".
In the case of IntegralityFocus, Gurobi performs additional more detailed feasibility checks of incumbent solutions, so maybe some solutions have not been declared as feasible before because of numerical issues.
Additionally, Gurobi does some additional branching steps that could be helpful in your case.Best regards,
Mario0
Please sign in to leave a comment.
Comments
1 comment