Speed up MILP solving

Answered

Comments

4 comments

  • Eli Towle

    Have you tried leaving the Cuts parameter at its default value? Cuts help tighten the objective bound, yet you have them disabled. In addition to this, you could see if switching to MIPFocus=3 makes any difference.

    0
    Comment actions Permalink
  • Nathalie Maul

    Thank you very much for your suggestions! Unfortunately both parameter changes didn't help.

    In the following you can see the log for cuts default value:
    ...
    ...
    ...

    In the following you can see the log for MIPFocus=3:
    ...

    0
    Comment actions Permalink
  • Eli Towle

    It may not make much difference, but I would try MIPFocus=3 in isolation (e.g., without setting Heuristics, Cuts, etc.).

    In the log from your initial post, Gurobi finds the optimal solution fairly early (463s) via branching, then proves optimality by processing the entire branch-and-bound tree. It doesn't look like cuts are helpful in proving optimality faster. So, you might be on the right track by disabling heuristics and cuts. You could try modifying the branching parameters BranchDir and VarBranch, though these normally don't have a large impact. Alternatively, you could try reformulating the problem in hopes of obtaining a tighter formulation, or simply to see if Gurobi performs better on a different problem structure.

    1
    Comment actions Permalink
  • Nathalie Maul

    Thank you very much for your comments! Actually the biggest runtime reductions I could achieve with problem reformulations and limitations of the solution space.The runtime for the initial problem is now only 63 seconds. Unfortunately the runtime increases extremely for more input data. Therefore I will probably have to try even more in this area...

    0
    Comment actions Permalink

Please sign in to leave a comment.

Powered by Zendesk