Setting dual initial point for warm start


#1

Is there a way to set a dual initial point for warm starting? I would like to use it in branch and bound using Ipopt (or any other nlp solver) in the backend for relaxation.

Only warm starting on the primal point by setvalue is probably not enough (or can make it worse) as mention here:
https://groups.google.com/forum/#!msg/julia-opt/D1cw7XL7_M4/ufww9xpjEAAJ

Thanks in advance!


#2

If you check https://github.com/JuliaNLSolvers/Optim.jl/pull/303 you’ll find a strategy for setting the dual variables. In particular check the initialize_μ_λ! function. The fact that you can ensure that you won’t leave the “basin” of the user’s initial primal guess doesn’t seem to be widely known (at least, I didn’t see it in textbooks and I failed to find it in papers), but it’s pretty straightforward.


#3

This is not supported in MathProgBase but will be supported in MathOptInterface. In the meantime I’d recommend hacking Ipopt.jl.