When confronted with the task of choosing parameter values that might lead to better performance on a model, the long list of Gurobi parameters may seem intimidating. To simplify the process, we include a simple automated parameter tuning tool. From the interactive shell, the command is tune():
gurobi> m = read('/Library/gurobi912/mac64/examples/data/misc07')
The tool tries a number of different parameter settings, and eventually outputs the best ones that it finds. For example:
Tested 29 parameter sets in 99.33s Baseline parameter set: mean runtime 1.48s Improved parameter set 1 (mean runtime 1.13s): FlowCoverCuts 1 Aggregate 0 Improved parameter set 2 (mean runtime 1.22s): MIPFocus 1In this case, it found that setting the
MIPFocusparameter to 1 for model
misc07reduced the runtime from 1.48 to 1.22.
Note that tuning is meant to give general suggestions for parameters that might help performance. You should make sure that the results it gives on one model are helpful on the full range of models you plan to solve. You may sometimes find that performance problems can't be fixed with parameter changes alone, particularly if your model has severe numerical issues.
Tuning is also available as a standalone program. From a command prompt, you can type:
> grbtune /Library/gurobi912/mac64/examples/data/p0033
Please consult the Automated Tuning Tool section of the Gurobi Reference Manual for more information.