JuMP v0.19 & Ipopt: warm start (dual)

Hi Miles: This is a follow-up to our discussion yesterday regarding a warm start of the dual using JuMP+Ipopt. Could you please point me to the relevant documentation on that? (Note that I’ve already taken full advantage of the primal start feature you had mentioned (i.e., set_start_value()). Thanks! -pavan

I’m not privy to your discussion with @miles.lubin, but I don’t think Ipopt (or JuMP) supports setting dual starts yet.

Hi @pracherla9. I opened Support ConstraintDualStart and NLPBlockDualStart · Issue #164 · jump-dev/Ipopt.jl · GitHub which discusses the plumbing that’s missing in order to provide dual starts from MOI and send them to Ipopt. After that, a little bit more is needed to provide a nice interface at the JuMP level. I consider this a blocking issue for JuMP 1.0 because it’s one of the reasons we made the transition from MPB to MOI and requires not much more than a few hours of work. However, I can’t make promises on how fast it will happen without external contributions.

1 Like

Hi @miles.lubin: Thanks for pointing me in the right direction. I’ve taken a quick look at the pertinent code sections and agree that it shouldn’t take more than a few hours of work. I will take a stab at it myself and let you know how it goes. Thanks again! -pavan

PS. Since others might stumble upon this discussion at a later date, it’s worth adding this caveat emptor about “warm-starting” Ipopt: https://www.coin-or.org/Ipopt/documentation/node32.html.