IDAES / idaes-pse

The IDAES Process Systems Engineering Framework
https://idaes-pse.readthedocs.io/
Other
206 stars 228 forks source link

Flexibility Analysis #1398

Open michaelbynum opened 2 months ago

michaelbynum commented 2 months ago

Summary/Motivation:

This PR adds a module for formulating flexibility analysis problems.

Legal Acknowledgement

By contributing to this software project, I agree to the following terms and conditions for my contribution:

  1. I agree my contributions are submitted under the license terms described in the LICENSE.txt file at the top level of this directory.
  2. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.
codecov-commenter commented 2 months ago

Codecov Report

Attention: Patch coverage is 84.73282% with 260 lines in your changes are missing coverage. Please review.

Project coverage is 77.87%. Comparing base (b3d55b7) to head (7cb6ee8). Report is 1 commits behind head on main.

Files Patch % Lines
idaes/apps/flexibility_analysis/sampling.py 82.32% 36 Missing and 8 partials :warning:
idaes/apps/flexibility_analysis/flex_index.py 67.71% 30 Missing and 11 partials :warning:
idaes/apps/flexibility_analysis/flextest.py 88.62% 17 Missing and 22 partials :warning:
idaes/apps/flexibility_analysis/kkt.py 70.07% 26 Missing and 12 partials :warning:
idaes/apps/flexibility_analysis/inner_problem.py 81.25% 19 Missing and 8 partials :warning:
...flexibility_analysis/examples/nonlin_hx_network.py 65.51% 17 Missing and 3 partials :warning:
...pps/flexibility_analysis/decision_rules/relu_dr.py 76.25% 13 Missing and 6 partials :warning:
.../flexibility_analysis/examples/idaes_hx_network.py 93.06% 13 Missing and 4 partials :warning:
...flexibility_analysis/examples/linear_hx_network.py 89.02% 8 Missing and 1 partial :warning:
...s/apps/flexibility_analysis/_check_dependencies.py 66.66% 1 Missing and 1 partial :warning:
... and 2 more
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1398 +/- ## ========================================== + Coverage 77.70% 77.87% +0.17% ========================================== Files 394 415 +21 Lines 65033 66736 +1703 Branches 14380 14671 +291 ========================================== + Hits 50533 51973 +1440 - Misses 11899 12085 +186 - Partials 2601 2678 +77 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

michaelbynum commented 2 months ago

How do I get the integration tests to run?

andrewlee94 commented 2 months ago

@michaelbynum As you worked out, you add the CI:Integration tag to trigger the run. Alternatively, if the PR has two approvals they will be triggered on a new push.

michaelbynum commented 2 months ago

Thanks!

ksbeattie commented 1 month ago

@michaelbynum any update here?

andrewlee94 commented 1 month ago

@michaelbynum Something you might want to think about for the docs here: I have received a number of questions this week about this PR and how it is distinguished from robust optimization and Pyros (and thus when you would want to use one versus the other). It would probably be good to have some discussion of this somewhere in the docs to guide new users to the best tool for what they want to do. On the plus side, there is already some interest in tools like this.

ksbeattie commented 1 month ago

@michaelbynum I'm moving this to the Aug release as the May release will be created next week.

ksbeattie commented 4 weeks ago

@michaelbynum any update on this?

michaelbynum commented 3 weeks ago

Apologies. I'll be pushing updates to address reviews early next week.