Optimization framework for Daisy
A python based framework for optimizing parameters in Daisy.
- Multiple optimization methods: a greedy sequential optimizer, CMA-ES, and Bayesian optimizers
- Optimization across multiple scenarios
- Single or multi-objective optimization
- Optimization of parameters in both Daisy (
.dai) and Python (.py) files - Support for categorical and continuous parameters (depending on optimizer)
The framework is available on https://pypi.org/ and can be installed with pip
pip install daisypy-optim
By default this will only install the greedy sequential optimizer. For most problems you will want to use either CMA-ES or a Bayesian optimizer. The CMA-ES optimizer can be installed with
pip install daisypy-optim[cma]
and the Bayesian optimizers with
pip install daisypy-optim[ax]
Note that the Bayesian optimizers pulls in a lot of dependencies.
There are several examples illustrating how to optimize parameters in various situations. They all share a common structure
- Setup a
DaisyRunnerthat knows how to run Daisy - Setup a
FileGeneratorthat can generate.daiand.py - Define the parameters that should be optimized for
- Define the objective that should be optimized
- Setup and run an optimizer
See doc/examples for an overview of the examples.