-
Notifications
You must be signed in to change notification settings - Fork 577
Add core symbolic gradient support to Pyomo.DoE #3898
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
Open
snarasi2
wants to merge
442
commits into
Pyomo:main
Choose a base branch
from
snarasi2:codex/merge-pyomo-doe-symbolic
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 12 commits
Commits
Show all changes
442 commits
Select commit
Hold shift + click to select a range
7a0f623
Fixed issues with merging changes
sscini 31a61e9
Merge branch 'Pyomo:main' into parmest_obj_regularization
sscini d44f13d
L2 regularization working
sscini 906f280
Merge branch 'Pyomo:main' into parmest_obj_regularization
sscini fec94fd
Made the theta_ref a series.
sscini 6ecb2a3
Updated doc strings.
sscini 865e51e
Update parmest.py
sscini 5ffa566
added helper comments.
sscini 53ca679
Updated implementation to add vectorized L2 calc, and reviewer questions
sscini ab583bb
Adjusted logging, ran black
sscini ac96277
Changed value to avoid zero for L2 term
sscini 08bce8f
Commented out or removed print statements
sscini 26bc6b6
Merge branch 'Pyomo:main' into parmest_obj_regularization
sscini 854366b
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini c55143d
Added in files from main now, removed example
sscini 8f3a902
Merge branch 'Pyomo:main' into multistart-in-parmest
sscini 3c87d7a
Added old files in temporarily for reference
sscini 4e09d33
Ran black
sscini 4f94329
Merge branch 'Q_opt-redesign' into multistart-in-parmest
sscini 12d0af1
Made quick working example, and small modification for multistart
sscini 72204d9
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini 7aa3b17
Merge branch 'main' into parmest_obj_regularization
sscini 0833295
Add `lhs` iniatialization method and test
smondal13 ca0a4dd
Add tests for optimize_experiments(). All tests passed
smondal13 02aa81a
Remove cherry-picked example artifacts from DOE test changes
smondal13 d1493a5
Add more tests for warnings, combinations
smondal13 802438b
Refactor result dict in `optimize_experiments()`
smondal13 5ae8280
Add test of opt values with hardcoded values
smondal13 0a1167d
Merge branch 'main' into multistart-in-parmest
sscini 476bc09
Going through`optimize_experiments`
smondal13 fe6ef62
Add parallel algorithm for initialization
smondal13 3879b1c
Enhance LHS initialization with diagnostics and parallel processing i…
smondal13 73d9387
Enhance diagnostics and error handling in LHS initialization; add tes…
smondal13 2f1f5a1
Enhance error handling and diagnostics in optimize_experiments; add c…
smondal13 7913222
Improve optimize_experiments robustness and docs
smondal13 65cc0cc
Refine optimize_experiments validation and review tracking
smondal13 72dd1eb
Enhance DesignOfExperiments with parallel processing for LHS scoring …
smondal13 ce032b5
Refactor DesignOfExperiments for improved LHS sampling and error hand…
smondal13 845de61
Refactor DesignOfExperiments to improve Cholesky rule handling and en…
smondal13 05097d5
Enhance DesignOfExperiments with timeout handling for LHS FIM evaluat…
smondal13 ec60888
Chose to apply in compute_covariance
sscini 9531d73
Update parmest.py
sscini bc79da5
Made weight default 1
sscini 0456910
Ran black
sscini 23eb2ea
Adjusted doc strings, ran black
sscini 933da0f
Update regularization_example.py
sscini c386945
Clean up the branch by removing the `.md` scripts
smondal13 859e214
Add `_spec.md`
smondal13 6f401ad
Add `optimize_experiment()`
smondal13 ce305a6
Add `experiment_list` in the `__init__` and a `DeprecationWarning`if …
smondal13 72df8e1
Rename finite difference `scenario_blocks` to `fd_scenario_blocks` an…
smondal13 dd86620
Add new objective method for multiple experiment.
smondal13 bcc833a
Add complete `doe.py` for multi experiment without testing /example
smondal13 82a8aad
Solve the `optimize_experiments()` for both 1 and 2 experiment case u…
smondal13 336ea3a
Solve `doe/examples/rooney_biegler_multiexperiment.py` and `reactor_m…
smondal13 2fda230
Add plot and the grid best and optimal point points to the same point
smondal13 da15eef
Add minor changes
smondal13 d5a2411
Add trace objective
smondal13 bb65dcf
Resolve the test failing issue for `scenario_blocks` does not exist.
smondal13 40381f7
Correct docstring
smondal13 786d8dd
Add `trace` and `pseudo_trace` in the plotting function for multiexpe…
smondal13 5947553
A-optimality gives different results for rooney_biegler_multiexperime…
smondal13 2919813
Add new directory for multiexperiment protype examples
smondal13 f37bc1d
Solve the error FIM not positive definite when prior_FIM is passed
smondal13 3338e8b
Solve `rooney_biegler_multiexperiment.py`
smondal13 0b2e546
Add FIM prior in multiexperiment
smondal13 490f8fe
Add `multiexperiment_prototype.ipynb` that gives the same result from…
smondal13 a9287e2
When no prior was used, D-opt and trace FIM gave he same result, but …
smondal13 afa7090
Solve 2 experiment case with same result from both grid and optimization
smondal13 e1db056
Add `local_name` of sym_break_cons
smondal13 6a429d2
Add log10 codiition number
smondal13 995f137
Add `lhs` iniatialization method and test
smondal13 dbfc6ba
Add tests for optimize_experiments(). All tests passed
smondal13 a62a67b
Remove cherry-picked example artifacts from DOE test changes
smondal13 e17a896
Add more tests for warnings, combinations
smondal13 489be46
Refactor result dict in `optimize_experiments()`
smondal13 33b5e66
Add test of opt values with hardcoded values
smondal13 25752c0
Going through`optimize_experiments`
smondal13 5657dab
Add parallel algorithm for initialization
smondal13 60c4a96
Enhance LHS initialization with diagnostics and parallel processing i…
smondal13 e09d340
Enhance diagnostics and error handling in LHS initialization; add tes…
smondal13 b7111a3
Enhance error handling and diagnostics in optimize_experiments; add c…
smondal13 3df6c9a
Improve optimize_experiments robustness and docs
smondal13 0bfc396
Refine optimize_experiments validation and review tracking
smondal13 4e3b72d
Enhance DesignOfExperiments with parallel processing for LHS scoring …
smondal13 290747e
Refactor DesignOfExperiments for improved LHS sampling and error hand…
smondal13 c76632f
Refactor DesignOfExperiments to improve Cholesky rule handling and en…
smondal13 4041693
Enhance DesignOfExperiments with timeout handling for LHS FIM evaluat…
smondal13 6be8b2f
Clean up the branch by removing the `.md` scripts
smondal13 d6ee86b
Merge remote-tracking branch 'refs/remotes/origin/add-multiexperiment…
smondal13 77f6ff7
Refactor imports and clean up unused code in DoE modules and tests
smondal13 f542882
Refactor and enhance tests for optimize_experiments()
smondal13 74eb4bc
Refactor LHS initialization parameters in DesignOfExperiments and rel…
smondal13 eabc592
Add test for optimize_experiments with multi-experiment trace option
smondal13 fe72c91
Cleaned up prototype scripts
smondal13 edaae02
Add tests for JSON encoder and optimize_experiments error handling in…
smondal13 0d236c4
Refine DOE optimize_experiments test coverage
smondal13 adf7de2
Add more tests. Remove symmetry breaking constraint suffix for multi-…
smondal13 b4a50e3
Refactor DOE tests and remove deprecated multi-experiment test file
smondal13 faa689c
Run black
smondal13 9ccfba4
Added theta generation and old multistart over
sscini 78f65f3
Updated multistart example and code
sscini 43a67ab
Added bounds to models, ran black
sscini eef390a
Update documentation and imports in DoE module for clarity and consis…
smondal13 280b01a
Run black
smondal13 c6be263
Refactor DesignOfExperiments to standardize initialization method nam…
smondal13 ed2cf54
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini 2b41ba5
Merge branch 'Pyomo:main' into multistart-in-parmest
sscini ec100ae
Merge branch 'Pyomo:main' into parmest_obj_regularization
sscini cc0513a
Updated interface, added block scenario tests.
sscini 2e5ac42
Merge branch 'Q_opt-redesign' into multistart-in-parmest
sscini e20e457
Added validation for prior_FIM and fixed inconsistencies
sscini 813a981
Adjusted implementation, added new tests in separate file
sscini 96a4792
Initial implementation
sscini 592d54c
Merge branch 'main' into add-multiexperiment
smondal13 850819c
Merge branch 'Pyomo:main' into parmest_obj_regularization
sscini 44a0b83
Merge branch 'Pyomo:main' into multistart-in-parmest
sscini 8b9db82
Merge branch 'Pyomo:main' into profile-likelihood
sscini 9c0d0a3
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini 1f8f016
Fix multi-experiment compute_FIM aggregation
smondal13 ff5e465
Merge branch 'add-multiexperiment' of github.com:smondal13/pyomo into…
smondal13 f9c8e3a
Fixed issue with repeat thetas, ran black
sscini d6cfe37
Merge branch 'multistart-in-parmest' into profile-likelihood
sscini a025512
Applied changes based on changes to multistart
sscini 967e790
Run black
smondal13 baadbf0
Added L1 reg support working prototype, black
sscini 351920f
Fixed testing issue, and example issues
sscini 8ee7b2b
Refactor `_enum_label` method placement and add review documentation …
smondal13 3c034b7
fix(doe): clarify lhs parallel fallback logs
smondal13 c4103d9
Remove the review file
smondal13 1518abe
Add comments to explain the test
smondal13 6444c54
Merge branch 'Pyomo:main' into profile-likelihood
sscini 4df5b48
Merge branch 'main' into Q_opt-redesign
sscini a0decd0
Merge branch 'main' into parmest_obj_regularization
sscini e4fbf66
Refactor DesignOfExperiments to accept a single experiment or a list
smondal13 ee6e63f
- update init_method type hint in DesignOfExperiments constructor
smondal13 ebc7aa3
fix(doc): clarify design variables and FIM in multi-experiment docume…
smondal13 8f4732d
Rename documentation
smondal13 735762c
Merge branch 'main' into add-multiexperiment
smondal13 584091c
Rename
smondal13 3a52f2d
Merge branch 'add-multiexperiment' of github.com:smondal13/pyomo into…
smondal13 3678ecb
fix(doc): Test failure
smondal13 12a3c1b
Merge branch 'main' into multistart-in-parmest
sscini 07c42e7
Merge branch 'main' into profile-likelihood
sscini 4fc0336
Merge branch 'main' into Q_opt-redesign
sscini a7d1fb8
Merge branch 'main' into parmest_obj_regularization
sscini b372edd
Moved new tests into the main parmest testing file.
sscini 41e8e98
Ran black
sscini 9fe600f
Update test_parmest.py
sscini 48ba6a6
Merge branch 'main' into Q_opt-redesign
sscini ba4091c
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini eba10b3
Removed covariance functionality from theta_est, in progress
sscini c997944
Update simple_reaction_parmest_example.py
sscini d2b5d74
Update simple_reaction_parmest_example.py
sscini ae9808f
Update parameter_estimation_example.py
sscini 9fa6528
Adjusted tests, ran black
sscini cb1ecea
Update test_parmest.py
sscini 261a78f
Delete scenarios.csv
sscini 990b812
feat(doe): add multiexp greybox support
smondal13 664d687
Merge branch 'Q_opt-redesign' into multistart-in-parmest
sscini ea876b1
Merge branch 'multistart-in-parmest' into profile-likelihood
sscini 9786fc5
Merge branch 'Pyomo:main' into parmest_obj_regularization
sscini 0266ca3
feat(tests): add tests for multi-experiment grey box optimization
smondal13 c1ca9c6
Merge branch 'Pyomo:main' into add-multiexperiment
smondal13 1e1c048
Merge branch 'Pyomo:main' into multiexp-greybox
smondal13 bc08c2a
feat(doe): enhance multi-experiment support and add synchronization f…
smondal13 35ee2f9
enforce consistency in unknown parameter values and order for multi-e…
smondal13 3e66a71
update error message for objective_option and improve test assertions
smondal13 6d46119
Added tests to correct files, ran black.
sscini 293f9c6
Refactor greybox tests and optimize_experiments functionality
smondal13 b145e3c
refactor(tests): consolidate validation tests for optimize_experiment…
smondal13 f03a862
refactor(tests): streamline DoE test cases by removing redundant tests
smondal13 ecdde5a
test: add validation for non-greybox objectives in optimize_experiments
smondal13 4bb0a5a
refactor: update results structure to use param_scenarios and streaml…
smondal13 967d0fa
Run black
smondal13 a2d42dc
Merge pull request #2 from smondal13/multiexp-greybox
smondal13 f6ea71f
Rename rb_multi.py script and greybox tests documentation
smondal13 d927ed9
docs: update documentation to include GreyBox-based objectives and re…
smondal13 2b28bcb
fix: correct typos in error messages for rb_multi function
smondal13 74119bd
Merge branch 'profile-likelihood' into regularization-profilelikeliho…
sscini 50cbc4a
Add symbolic gradient support to Pyomo.DoE
85116d5
Add symbolic DoE regression tests
12e5e95
Allow writeable in typos config
b35253a
Port polynomial and reactor symbolic tests
431b28e
Document symbolic gradient methods in DoE
f55a294
Refactor ExperimentGradients setup
ca66ac6
Add polynomial DoE regression coverage
8d8b8bd
Add broader gradient consistency tests
5c373fb
Add factorial results dataframe tests
103a121
Add reactor regression and CI fixes
76f53c4
Add plotting guard coverage tests
1c1c253
Update model in regularization core, reordered, ran black
sscini 14bc329
Updated model structure, reordered, ran black
sscini 3dca7d7
Merge branch 'main' into Q_opt-redesign
blnicho 0f653a8
Refactor the result dict
smondal13 c85e4fb
Merge branch 'main' into add-multiexperiment
smondal13 f28d86d
Clarify cyipopt HSL skip reason
aeafe4d
Updated covariance.rst file
slilonfe5 f84786c
Merge branch 'Pyomo:main' into parmest_obj_regularization
sscini 959d58e
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini 5530e9d
Merge branch 'Pyomo:main' into multistart-in-parmest
sscini aa6d670
Merge branch 'Pyomo:main' into regularization-profilelikelihood-combo
sscini 74369fd
Added new files
slilonfe5 c3e5466
Merge branch 'main' into parmest-doe-doc-reorg
slilonfe5 1eb8c7f
Added and updated documentation files
slilonfe5 dbe9f2c
Added abstraction.rst and updated doe.rst
slilonfe5 b21c34d
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini 80552f2
Reuse polynomial example in DoE tests
d708d55
Drop unused data arg from polynomial example
f53fe17
Clarify symbolic sensitivity math comments
11d475e
Remove no-op polynomial finalization
e704f68
Simplify polynomial test imports
1b6c63a
Merge branch 'main' into Q_opt-redesign
sscini 0d0a14f
Remove redundant polynomial FIM smoke test
401c03a
Strengthen polynomial DoE regression test
0dd08eb
Use symbolic path for dataframe tests
65571da
Align symbolic DoE test coverage
9eb4959
Guard DoE utils tests on ipopt
702dc89
Strengthen symbolic Jacobian tests
d652cea
Remove out-of-scope FIM metric test
b5ea7f1
Tighten Jacobian regression assertions
9a78180
Drop workflow changes from symbolic PR
c593f0b
Checkpoint reactor test conversions to RB/polynomial
36d5694
Checkpoint remaining reactor test cleanup
dae72f4
Replace remaining reactor DoE tests
0545dcf
Clarify GreyBox MA57 skip reason
270bf8c
Add symbolic DoE PR notes
33d0b98
Refactor Jacobian rule setup
4209df5
Tighten FD scenario validation
653e3be
Format DoE module with black
f768ea3
Merge branch 'main' into Q_opt-redesign
sscini 5c856e2
Merge branch 'main' into add-multiexperiment
smondal13 8a95a60
Merge branch 'main' into add-multiexperiment
smondal13 867e642
Merge branch 'main' into Q_opt-redesign
sscini c83ea69
Merge branch 'main' into add-multiexperiment
smondal13 6d7eb7a
Merge branch 'main' into Q_opt-redesign
sscini a123706
Merge branch 'main' into parmest_obj_regularization
sscini 0089ff1
Merge branch 'main' into add-multiexperiment
smondal13 a39d367
Merge branch 'main' into Q_opt-redesign
sscini 98392ba
Merge branch 'Pyomo:main' into regularization-profilelikelihood-combo
sscini deb3c5a
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini 211f16c
Merge branch 'main' into add-multiexperiment
smondal13 24e086a
Merge branch 'Q_opt-redesign' into regularization-profilelikelihood-c…
sscini d45e04c
Merge branch 'multistart-in-parmest' into regularization-profilelikel…
sscini 50de094
Merge pull request #2 from smondal13/add-multiexperiment
adowling2 b419cc0
Merge branch 'parmest_obj_regularization' into regularization-profile…
sscini 61c4c26
Merge pull request #3 from slilonfe5/parmest-doe-doc-reorg
adowling2 cae4afb
Merge pull request #1 from sscini/regularization-profilelikelihood-combo
adowling2 e9e4f4e
Resolve DoE merge conflicts and restore fd_scenario_blocks architecture
0977386
Apply Black formatting to DoE files
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I am not used to seeing these files get modified or included in PRs? (In .github/workflows folder). Please explain these changes if they are needed or remove if possible.
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.
Please see comment on the PR in response to this