-
Notifications
You must be signed in to change notification settings - Fork 36
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
Updating Degeneracy Hunter example #79
Conversation
@adowling2 I took a first pass at updating your existing tutorial to use the new API - for the most part it was straightforward although there are a couple of cells where I think the results are slightly different (checking residuals, bounds and the Jacobian rank come to mind). If you or a student could take a look and see what you think it would be appreciated. Note that this PR requires the changes from IDAES/idaes-pse#1256. |
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.
With the exception of the failing test, this LGTM. I'm also not sure why the same file is seemingly duplicated 4 times tho...
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.
@andrewlee94 the content looks good, I'm approving so this can be merged quickly once the tests pass.
The failure looks like it will be resolved once this issue is addressed. Please let @MarcusHolly and I know if there are any modifications to the solvers packages that require testing.
@MarcusHolly the four files exist for different purposes (see here).
Proposed change, link to https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions#Regularity_conditions_(or_constraint_qualifications) for "Linear independence constraint qualification", also fix capitalization |
Proposed change, give the Degeneracy Hunter paper reference: And link to the file: https://dowlinglab.nd.edu/assets/447116/2015_degeneracy_hunter_an_algorithm_for_determining_irreducible_sets_of_degenerate_constraints_in_mathematical_prog.pdf |
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.
Looks great, I posted two suggestions above.
@lbianchi-lbl @dangunter This is another PR that needs to have SCIP avaialble for testing (although for just documentation it should be fine as is - the cells are already filled in). |
This is waiting for IDAES/idaes-pse#1281 |
IDAES/idaes-pse#1282 introduces an internal utility function that enables SCIP (requires from pyomo.environ import SolverFactory
from idaes.core.util.testing import _enable_scip_solver_for_testing
scip_solver = SolverFactory("scip")
if not scip_solver.available():
_enable_scip_solver_for_testing()
assert scip_solver.available() Note that the issue of how to handle the |
@andrewlee94 To deal with the installation of
|
@lbianchi-lbl I would be inclined to leave off the installation instructions - I beleive I already have a warning that an MILP solver is required. The example can be run with any MILP solver (not just SCIP, although the user would need to point to the solver of choice), plus there are better ways to install SCIP. |
This PR update the existing Degeneracy Hunter example to use the new API via the Diagnsotics Toolbox
Legal Acknowledgement
By contributing to this software project, I agree to the following terms and conditions for my contribution:
📚 Documentation preview 📚: https://idaes-examples--79.org.readthedocs.build/en/79/