Why convergence behavior of SDDiP algorithm is different with different mixed-integer programming solvers?

There are many factors:

  • the random seed, and the sequence of random variable realizations on the forward pass
  • the tolerance to which you are solving the MIP problems
  • the presence of primal or dual degeneracy
  • what duality handler you are using. If LagrangianDuality there are tolerances and checks that depend on the quality of the MIP solution returned by the solver
  • luck

I’ll refer back to by previous reply: Is there a way to extract the number of mixed-integer iterations during a particular iteration or solve in the SDDP.jl? - #2 by odow

I’ll add a note of caution: if you don’t fully understand how the algorithm is implemented in SDDP.jl and how the different solvers handle tolerances, it’s going to be quite difficult to make any sort of fair benchmark between solvers. This is particularly the case if you have only a small number of problem instances to compare.

Perhaps it’s useful to step back a bit: why are you trying to compare different MIP solvers in the context of SDDP.jl? What is the ultimate goal?