# Gurobi searches all nodes despite variable initialization

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?

• As Nikos mentioned, this is the case for all problems. I have had problems where warm start solution reduced the search time greatly. Sep 29 '21 at 8:01

## 1 Answer

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.

• Thanks Nikos! But we had initialised the decision variables with the exact same solution that Gurobi finds eventually.
– pqrz
Sep 29 '21 at 13:03
• 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. Sep 29 '21 at 15:16