Optimizing a quadratic binary function on CPLEX/JuMP

There might be a couple of things going on here:

  1. We are retaining the previous MIP starts, rather than clearing them on subsequent solves: https://github.com/jump-dev/CPLEX.jl/issues/352. I don’t know what, if anything, fixing this will do.
  2. Warm-starts are a hint to the solver. They may choose to use them if they think it will help. It certainly looks like in this case the solver receives them at the start of the log, but ignores them during the branch-and-bound. I don’t know why. You would have to follow up with CPLEX support for more details.

p.s. As a quick way, you can set the start value from a previous solution as follows:

vars = all_variables(model)
set_start_value.(vars, value.(vars))
1 Like