Features
* Added multi-objective optimization via Mean-Aggregation or Par-EGO (817, 818). Both approaches normalize
the costs objective-wise based on all data in the history.
Major Changes
* Results are instantly saved by default now. That means, runhistory.json is saved every time
a trial is added.
* Determinstic behaviour (defined in scenario) is default now. Calling a function/TAE with the same
seed and configuration is expected to be the same.
* Limit resources behaviour is by default false now. This is particually important because pynisher
does not work on all machines (e.g. Colab, Mac, Windows, ...) properly.
* Renamed scenario object `save_results_instantly` to `save_instantly`.
* Added `multi_objectives` as scenario argument.
* Expanded `cost_for_crash` for multi-objective support.
Examples
* Integrated spear_qcp example for commandline.
* Python examples are now executed so that the output in the documentation is shown.
* Added multi-objective example.
Documentation
* Added runhistory page.
Workflow Clean-up
* Adds PEP 561 compliance (exports types so other packages can be aware of them).
* Allow manual workflow_dispatch on actions that might require it (can manually trigger them from github UI).
* Prevent the double trigger of actions by making push and pull_request and more strict.
* A push to a pull request should no longer cause double the amount of tests to run (along with the other workflows that had on: [push, pull_request].
* Some general cleanup, giving names to some actions, adding some linebreaks to break up things, ...
* Command-line examples are tested again.
* pytest.yaml:
* Now scheduled to auto run everyday instead of every week.
* Clean up the body of the steps and move some things to env var.
* Scaffold for matrix that includes windows and mac testing (currently excluded, see comments).
* Includes tests for Python 3.10.
* Changed the boolean flags in the matrix to just be a categorical, easier to read.
Minor Changes
* Specified that dask should not cache functions/results (803) .
* Handles invalid configuration vectors gracefully (776).
* Specified scenario docs that also SMAC options can be used.
* Docs display init methods now.
* Parameters in the docs are shown first now.
* Successive Halving only warns you once if one worker is used only.
* Statistics are better readable now.
* Sobol sequence does not print warnings anymore.