Update OED Interface to conform to the unified `configs` arguments
All existing OED classes were build incrementally as we develop the PyOED package, and some of them have different parameters than others.
In order to unify the interface and make OED classes similar to other components, such as simulation models, error models, etc., we need to make each OED class take one and only one argument (configs
) which is a dictionary that holds all configurations (aggregated with default values upon instantiation). We also need to provide mechanisms to update the configurations those can changed after instantiation. For example, one may need to change the optimization algorithm, the evaluation approach of the utility function, etc.
This issue will introduce the following updates:
- Change the interface of all OED classes to accept
configs
dictionary - Allow accepting old parameters (only if
configs
is not passed) and throw a warning that this will change soon in case some one built their own script to instantiate an OED model.
- introduced default configurations
-
configs
is automatically created from old/legacy parameters with a warning thrown - aggregate passed (or automatically created) configurations with default values, then validate
- enable modifying some/all configurations as allowed
- Update all drivers/examples that uses OED classes.