6
$\begingroup$

We are trying to solve a large-scale MIQCQP (18K decision variables) problem via Gurobipy (v9.0.3).

Gurobi is able to solve this problem in ~13 mins despite whether or not we initialize the decision variables. Ideally, we are expecting drastic reduction in runtime.

Note: We are initializing with the exact optimal value of variables.

In case we initialize, we found that its just the Incumbent column that gets populated in solver logs, whereas BestBd and Expl column are the same despite initialization.

Does Gurobi search algorithm actually make any use of the initialization?

$\endgroup$
1
  • 1
    $\begingroup$ As Nikos mentioned, this is the case for all problems. I have had problems where warm start solution reduced the search time greatly. $\endgroup$
    – Mostafa
    Sep 29, 2021 at 8:01

1 Answer 1

9
$\begingroup$

Gurobi is solving the global optimisation problem. This involves (i) locating the global solution, and (ii) proving that it is the global solution.

Step (i) is typically the easiest by far. By providing the solution you are helping the solver fathom more nodes from the beginning, but that's about it. It still needs to prove global optimality, which is the bulk of the calculations.

In some problems having the global solution from the beginning can make a huge difference, but it seems like this is not one of them. This can happen if Gurobi has an easy time finding a MIP solution of the same quality as yours. Gurobi makes use of the initialization and the fact that the BestBd column didn't change means that the solution you provided doesn't help it discard more search space than the solution it finds on its own quickly, which also explains Expl being unchanged.

$\endgroup$
2
  • $\begingroup$ Thanks Nikos! But we had initialised the decision variables with the exact same solution that Gurobi finds eventually. $\endgroup$
    – pqrz
    Sep 29, 2021 at 13:03
  • 3
    $\begingroup$ Exactly, however it still needs to prove that there is no better solution than that one, which in this case turns out to be the overwhelming majority of calculations. $\endgroup$ Sep 29, 2021 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.