Do MIPFocus, Cuts, and Heuristics interact with thread count?
AnsweredHi all,
I've been tuning the parameters MIPFocus, Cuts, and Heuristics on my MIP models and have a question about how these parameters interact with thread count.
If a particular parameter setting yields a performance gain at a low thread count, can I expect a similar gain at higher thread counts? And if the effect does vary, can I assume it is generally amplified rather than diminished as thread count increases?
Thanks!
-
Hi Nino,
Broadly, thread count interacts with all of these parameters. Runtime does not strictly improve with number of threads (see, for example, Managing Threads and Memory Usage in Gurobi) and these parameters provide no exception. For example, say we have Threads=4 as our baseline. We set Heuristics=0.20 and see a speedup. Increasing Threads to 8 may dedicate additional threads to additional heuristics. However, there is no guarantee that the allocation of additional threads will improve runtime. It may even make the solve slower if the threads become blocking or increase synchronization overhead. Increasing thread count may also slow down other parts of the algorithm. In general, we recommend first finding the best set of parameters for your problem (with the default value of Threads) then experimenting with different numbers of threads for these parameters.
Best,
Robert
0
Please sign in to leave a comment.
Comments
1 comment