[Pyomo.DoE] Replace computationally expensive test example with Rooney Biegler#3828
[Pyomo.DoE] Replace computationally expensive test example with Rooney Biegler#3828blnicho merged 22 commits intoPyomo:mainfrom
Conversation
…olve.py` with rooney_biegler` example
…iment()` function
- Introduced `RooneyBieglerExperimentFlag` to support model completeness flags for error handling in experiments. - Updated test files to utilize `RooneyBieglerExperiment` and `RooneyBieglerExperimentFlag` for better isolation and error testing. - Removed references to `FullReactorExperiment` in favor of the new Rooney-Biegler experiment classes. - Adjusted design ranges and parameters in tests to align with the new experiment structure. - Improved test descriptions and organization for clarity and maintainability.`
|
@blnicho @adowling2 This PR is ready for initial design review. @blnicho, one of the tests is failing. Can you please take a look? Note: This PR depends on #3803 |
|
@sscini I recommend you take a look at this. It is related to some of your other PRs. |
blnicho
left a comment
There was a problem hiding this comment.
I found a few spots where the code could be cleaned up and have some suggestions for making some of the tests stronger.
…n `delattr` Co-authored-by: Bethany Nicholson <blnicho@users.noreply.github.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3828 +/- ##
==========================================
- Coverage 89.66% 89.65% -0.01%
==========================================
Files 902 902
Lines 105609 105611 +2
==========================================
- Hits 94696 94688 -8
- Misses 10913 10923 +10
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Summary/Motivation:
Most unit tests within
pyomo/contrib/doe/testsutilized thereactor_example.pyexample, which is computationally expensive for the scope of these tests. This resulted in unnecessarily long execution times for the test suite.This PR replaces the
reactor_example.pywith the simplerrooney_biegler_doe_example.pyexample in the tests. This change maintains the validity of the tests while significantly reducing computational overhead.Performance Impact (MacBook with M4 chip):
Before: ~20 seconds
After: ~12 seconds
Improvement: ~40% reduction in test execution time.
Changes proposed in this PR:
reactor_example.pywithrooney_biegler_doe_example.pyin pyomo/contrib/doe/tests.rooney_biegler_doe_example.pymodel structure.Note:
This PR relies on PR #3803
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: