-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rebuild IpoptProblem only if modified #321
Conversation
Codecov Report
@@ Coverage Diff @@
## master #321 +/- ##
==========================================
+ Coverage 91.39% 91.52% +0.12%
==========================================
Files 4 4
Lines 732 743 +11
==========================================
+ Hits 669 680 +11
Misses 63 63
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
A nice improvement for such minor updates. |
It's actually not so straightforward, because it relies on jump-dev/JuMP.jl#3018 (comment). And it isn't obvious whether we need to call |
Regardless of the JuMP change, this is still a win if you want to repeatedly solve the same problem with different primal/dual starting points. |
@odow good point! I had not noticed the JuMP change that is required. |
This does't solve the JuMP issue, because that needs changes in MOI/JuMP, but this is an uncontroversial change in Ipopt that still improves things somewhat (we don't rebuild if you want to change the starting point and re-optimize). |
Still there are some good uses cases of this. Like multi-start inside of MINLP algorithms. |
Yes, this is exactly what I had in mind. |
Part of jump-dev/JuMP.jl#1185
x-ref jump-dev/JuMP.jl#3018
For @ccoffrin's PF example: https://github.com/lanl-ansi/nlp-jump-examples/pull/9 (private link at present)
Without this PR
With this PR