-
Notifications
You must be signed in to change notification settings - Fork 525
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
Add support for Xpress callbacks in Pyomo. #2648
Conversation
Codecov ReportBase: 87.06% // Head: 87.07% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #2648 +/- ##
==========================================
+ Coverage 87.06% 87.07% +0.01%
==========================================
Files 757 757
Lines 84511 85038 +527
==========================================
+ Hits 73581 74051 +470
- Misses 10930 10987 +57
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
d314322
to
3453019
Compare
3453019
to
aeff0ff
Compare
@djunglas we typically don't review PRs until all the tests are passing. If you need help resolving the test failures let us know. I would also recommend merging the main branch into this PR since it is a couple weeks behind. If you check the option to grant repo maintainers write-access to this branch then we can help keep it up to date. |
Thanks for the heads up, @blnicho I did not notice the failures since locally all tests seemed to pass. I'll see to this after the Christmas break. |
…port-callbacks
Nodes may be cutoff and thus the last call to the `optnode` callback may not be for the last node processed.
@djunglas - Please merge |
…port-callbacks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@djunglas - Overall, this looks great, and I thank you so much for submitting this PR. I found a few typos in documentation and have some comments about our preferred coding standard. I will not insist that these hold up the merging of the PR, however, since they are all NFC.
Previous name was the Xpress C style name, now it looks more like Pyomo.
@michaelbynum - Please review this. |
Hi @djunglas - I inadvertently merged this today. We are very excited about this PR but need to have a more targeted discussion as a dev team to discuss backwards compatibility implications. Once we revert back, I will reopen this PR. Apologies for my mistake! |
Second layer of apologies, @djunglas - GitHub will not allow me to reopen this PR. Sigh! Can you please open a new PR, which I will approve, and then we will get back to you ASAP after our dev team discussion? |
Hi @mrmundt - I tried to create new PR but it won't let me do that since it claims there are no differences between by branch and pyomo/main now. Did you already revert things on main? |
@djunglas: the (mostly my) concern is not with this PR breaking backwards compatibility, but rather when we merge this (since it is going into core functionality), we will be making a promise of maintaining backwards compatibility with this API moving forward. We are making a conscious effort to be intentional when adding / expanding / revising the core API that users interact with. In this case, the discussion was motivated by both this PR and #2680, and touched on a couple points:
This PR is in really good shape, and I expect that we will get it merged in (hopefully soon) -- unfortunately, some of the core Devs that we want to include in these discussions have been not been available this month, so it has taken longer to finish this. By the way, all are welcome to join the dev calls - email [email protected] if you would like the call-in information. |
@jsiirola, thanks a lot for explaining your concerns. They make perfect sense to me. Not sure if this helps, but the callback API I am proposing here is not cast in stone. I would be willing to modify the callback support in case you want it to match some API you defined. |
Fixes # .
Summary/Motivation:
Changes proposed in this PR:
Legal Acknowledgement
By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution: