Continuing grbtune from previous status/advances
AnsweredHi,
I am trying to tune Gurobi to a a bunch of relatively large (and related) MIPs using the grbtune command. A few of these models aren't solved in an hour on my machine (using baseline configuration and other setups I've tried), moreover sometimes no feasible solution is found in that time frame. Is it possible to continue a previous run of grbtune after it finished (to resume work after reaching TuneTimeLimit) without redoing every step again?
A second question would be about how the grbtune runs work: Is some degree of intelligence or dynamic automation incorporated, or do they always run the same set sequence of parameter combinations? Some examples of the former would be if Gurobi is detecting that
- a high number of cutting planes from a specific class are being added, or
- a large B&B tree is being built, or
- no feasible solution is being found, and setting certain parameter values to react on that at the next grbtune round.
In the third situation, increasing Heuristics value or changing MIPFocus to 1 to prioritize searching for feasible solutions could help. In the first one, the tuning process could try activating the cutting planes generated in previous runs.
Thanks in advance for the information and help.
-
Official comment
This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum. Or why not try our AI Gurobot?. -
Hi David,
It is not possible to continue a previous run of grbtune. However, you can provide the best parameter set of a previous run via TuneBaseSettings in order to start off with a good baseline run.
You could try the no relaxation heuristic for the models where finding a feasible solution seems to be problematic. If it helps, you can provide it as a fixed parameter to the tuning tool (together with some other parameters which you find to work well for your models). You can also provide a starting point if you have a good guess (cf. last section of Command-Line Tuning).The tuning tool tries to guess good parameters based on the information collected so far during the current tuning run, i.e., there is some degree of intelligence and dynamic automation present. Note that many parameters are so special and subtle that there is no real way of determining whether they can be helpful for a model or not, e.g., VarBranch. For these parameters, the only way of finding out if they are helpful for the underlying model is to just try them.
Best regards,
Jaromił0
Post is closed for comments.
Comments
2 comments