PrePasses setting doesn't seem to have an effect?
Awaiting user inputHello,
I'm trying to limit the time spent in presolve since it often takes minutes. However, even setting PrePasses = 1 doesn't seem to help at all. Does each line of output during presolve ("Presolve removed ... rows ...") correspond to a "pass"? If so, I still get multiple lines of output during presolve even when setting PrePasses = 1. Other settings I currently use:
Method = 1
MIPFocus = 2
Presolve = 1 (but also tried -1)
Cuts = 1
Disconnected = -1
Heuristics = 0.001
Is it just the complexity of the model that even PrePasses = 1 spends so much time in presolve or is there something else wrong?
Gurobi version: 9.1.2 on Linux, C++
-
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 Sebastian,
The parameter PrePasses actually limits the maximum number of passes through all the different presolving routines. It can still happen that there is a specific presolving routine that takes a lot of time.
Gurobi tries to print a new line every 5 seconds - this does not relate to the actual passes through the presolving phase.
Usually, the time invested in presolving pays off in a much faster-to-solve problem for the often more time-consuming branch-and-cut process.
Did you try disabling Presolving altogether (Presolve=0) to see how the overall performance is affected?
Cheers,
Matthias0
Post is closed for comments.
Comments
2 comments