IPOPT wrapper improvement to get more iteration information#459
IPOPT wrapper improvement to get more iteration information#459
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #459 +/- ##
=======================================
Coverage 86.72% 86.73%
=======================================
Files 24 24
Lines 3435 3460 +25
=======================================
+ Hits 2979 3001 +22
- Misses 456 459 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@kanekosh looks like the tests are failing on I will take a look at the PR in the next few days, but this sounds like a welcome improvement! |
Thanks, I added a check on the IPOPT version so this is fixed now. |
|
Also feel free to bump the patch version |
marcomangano
left a comment
There was a problem hiding this comment.
I think it's fair to drop support for IPOPT 3.13 at this point, although that might count as a downstream breaking change?
| if self.name == "SNOPT": | ||
| hist["isMajor"] = False # this will be updated in _snstop if it is major | ||
| # Save information about major iteration counting (only matters for SNOPT and IPOPT). | ||
| if self.name in ["SNOPT", "IPOPT"]: |
There was a problem hiding this comment.
Just a curiosity for the moment.. do you think intermediate could be used in the same way _snstop is used? #420 is stalled now but I wonder if we could extend similar features to IPOPT.
There was a problem hiding this comment.
Yep, eventually we can reorganize and refactor that part of the logic, it's a fairly common feature for optimizers to provide a per-iteration callback functionality.
|
I opened a PR to update the IPOPT version in our stable docker image (https://github.com/mdolab/docker/pull/298), so once that's merged I'll remove the IPOPT 3.13 support from this PR. |
|
@kanekosh can you rerun CI? I believe the base image was updated |
For some reason (not correlated with any changes we made to the docker images AFAIK), petsc4py has started failing to build on our stable images, see https://github.com/mdolab/docker/issues/299 for more info. |
|
Thanks for rerunning the builds, I think this is now ready @marcomangano |
Purpose
intermediatecallbackExpected time until merged
No rush
Type of change
Testing
Checklist
ruff checkandruff formatto make sure the Python code adheres to PEP-8 and is consistently formattedfprettifyor C/C++ code withclang-formatas applicable