Reducing MILP solution time

Answered

Comments

4 comments

  • Eli Towle

    The solution returned by Gurobi was found after 372 seconds of solving:

    H   40    26                    2.131858e+08 6.3870e+07  70.0%   858  372s

    Gurobi spent the rest of the solve time closing the gap from 70% to 22.2%. So, you could try setting Cuts to 2 or 3 (perhaps you did this already). Alternatively, you could try setting MIPFocus to 2 or 3. I would be surprised if NumericFocus improved performance.

    From a modeling perspective, perhaps you could reformulate the problem to tighten the linear relaxation. If possible, this is the best thing you can do. There are often many "correct" ways to model a problem, but some approaches may produce weak linear relaxations.

    Finally, Gurobi 9.1.0 was recently released. It may be worthwhile to try some of these parameter ideas with the latest version of Gurobi.

    1
    Comment actions Permalink
  • Mike Lang

    Thank you very much for the prompt and helpful response!

    0
    Comment actions Permalink
  • Mike Lang

    As a follow up question, is there a rule of thumb regarding the value of cores available for computation? I can see that my problems solve faster if I make availballe, e.g., 8 instead of 2 cores to the solver. But there seems to be no advantage to supply, e.g. 48 over 32 cores. Is more always better? Can it hurt to have more? 

    Thank you very much!

    0
    Comment actions Permalink
  • Eli Towle

    If possible, I recommend using as many cores as you have available. However, increases in core count are accompanied by diminishing returns in terms of performance benefit (as you've noticed).

    1
    Comment actions Permalink

Please sign in to leave a comment.

Powered by Zendesk