[Pyomo.DoE] Add simultaneous design of multiple experiments#3866
[Pyomo.DoE] Add simultaneous design of multiple experiments#3866smondal13 wants to merge 188 commits into
Conversation
…`experiment` argument is provided.
…d replace `self.experiment` with `self.experiment_list[0]`. `doe/reactor_example.py` runs successfully.
…sing the `doe/reactor_multi_experiment.py`
…ultiexperiment.py` both for 3 experiments
…etric-uncertainty
…parametric-uncertainty
…nt for `optimize_experiments()` and `compute_FIM()`
… both of sensitivity and optimize_experiments()
…A-opt gave different result for grid and optimization
…s in TestMultiexperimentBuild
Co-authored-by: Miranda Mundt <55767766+mrmundt@users.noreply.github.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3866 +/- ##
==========================================
- Coverage 90.10% 90.07% -0.04%
==========================================
Files 909 910 +1
Lines 108551 109249 +698
==========================================
+ Hits 97813 98405 +592
- Misses 10738 10844 +106
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:
|
|
@smondal13 This PR is now showing merge conflicts. |
adowling2
left a comment
There was a problem hiding this comment.
I think this is practically ready. I requested a few small comments. Also, there is a merge conflict (I think).
@adowling2 I have addressed your comments. @adowling2 @mrmundt, I have resolved the conflicts. The conflicts were from @adowling2's recent PR #3867 merge into |
|
@mrmundt @blnicho, the following two tests are failing. I think these two are not part of my PR |
|
@smondal13 those failures were resolved in #3965 and I merged main into your PR to pick up the fix. |
Fixes # .
Summary/Motivation:
This PR adds a new
DesignOfExperiments.optimize_experiments()API inpyomo/contrib/doe/doe.pyto support simultaneous optimization of multiple experiments in one workflow. The motivation is to provide a multi-experiment DoE interface with stronger initialization options, clearer mode handling (template vs. user-initialized experiments), and richer diagnostics/results than the existing single-experiment path.Changes proposed in this PR:
optimize_experiments()for multi-experiment DoE optimization.n_exp.n_expis inferred/validated.initialization_method="lhs") with controls for:sym_break_conssuffix,run_info._DoEResultsJSONEncoderfor numpy/Pyomo-enum values when writingresults_file.Note:
documentation.mdwhich describes the API. This documentation is to help the reviewers to understand the API and will not be merged intoPyomo:mainRemove before merging
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: