Questions regarding the heuristic parameter in Gurobi
AnsweredDear Gurobi Support Team,
I hope this question finds you well. I have three questions regarding the use of the heuristic parameter in Gurobi.
1. When I set the heuristic to 1, I expected the solver to focus only on finding feasible solutions, However, I was surprised to receive optimal solutions as well. Could you please explain why the solver proves the feasible solution is optimal?
2. Could you provide more information on the specific heuristic algorithms that Gurobi uses?
3. I would also appreciate a more detailed explanation than a parameter document of what setting the heuristic parameter to 1 entails.
Thank you so much for your time and support.
-
Hi Joonmo,
The Heuristics parameter in Gurobi controls how aggressively the solver applies heuristic methods to find feasible solutions during the optimization process. This parameter has a value range between 0 and 1, where the value represents the fraction of total runtime that the solver will allocate to heuristics. By default, the solver spends 5% of its runtime on heuristics.
Setting the Heuristics parameter to 1 means that the solver will heavily focus on finding feasible solutions using various heuristics. However, this does not turn off other aspects of the solver, such as the branch-and-bound process. The solver continues to track bounds and can prove no better solution exists, thus claiming a solution to be optimal.
Gurobi uses several heuristics. Some of them are:
- Minimum Relaxation Heuristic (MinRelNodes)
- Feasibility Pump Heuristic (PumpPasses)
- RINS Heuristic (RINS)
- Zero Objective Heuristic (ZeroObjNodes)
- NLP Heuristic (NLPHeur)
We hope this helps.
Best regards,
Simran1
Please sign in to leave a comment.
Comments
1 comment