pyomo
pyomo copied to clipboard
Pyomo.DoE: Handle edge case where the nominal value for a parameter is zero
Fixes # .
Summary/Motivation:
- If a parameter has a nominal value of zero, we will get a divide by zero error when calling
compute_FIM
Changes proposed in this PR:
- Added a minimum step size for perturbation.
TODO Before converting from draft
- [ ] Finish edits and debug
- [ ] Decide where to add check to throw error if we try to use parameter scaling and a parameter is zero
- [ ] Add tests to check this edge case include any new error message
- [ ] Update documenation (minor)
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:
- I agree my contributions are submitted under the BSD license.
- 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.
@djlaky @smondal13 @sscini FYI