Releases: CyberAgentAILab/cmaes
v0.10.0
What's Changed
- add DX-NES-IC by @nomuramasahir0 in #149
- xNES implementation by @nomuramasahir0 in #150
- add LRA-CMA-ES by @nomuramasahir0 in #151
- Bump the version up to v0.10.0 by @c-bata in #152
Full Changelog: v0.9.1...v0.10.0
v0.9.1
What's Changed
- Remove
tox.ini
by @c-bata in #131 - Fix a broken link to Optuna's documentation by @c-bata in #132
- Drop Python 3.6 support. by @c-bata in #130
- Reuse
CMA
insideCMAwM
by @knshnb in #133 - Add rng related methods by @knshnb in #135
- Fix correction of out-of-range continuous params of
CMAwM
by @knshnb in #134 - Fix correction of out-of-range discrete params of
CMAwM
by @knshnb in #136 - Avoid to use
typing.List
,typing.Dict
, andtyping.Tuple
. by @c-bata in #139 - Check feasibility of sampled discrete parameters in
CMAwM
by @knshnb in #140 - Refactor
CMAwM
by @knshnb in #141 - Add a test case for no discrete spaces. by @c-bata in #143
- Allow no discrete spaces in
CMAwM
by @knshnb in #142 - Remove warnings in CMAwM class by @c-bata in #144
- Revert handling of infeasible discrete parameters by @knshnb in #145
- Bump the version up to v0.9.1 by @c-bata in #138
Full Changelog: v0.9.0...v0.9.1
v0.9.0
Highlights
CMA-ES with Margin is now available. It introduces a lower bound on the marginal probability associated with each discrete dimension so that samples can avoid being fixed to a single point. It can be applied to mixed spaces of continuous (float) and discrete (including integer and binary). This algorithm is proposed by Hamano, Saito, @nomuramasahir0 (a maintainer of this library), and Shirakawa, has been nominated as best paper at GECCO'22 ENUM track.
CMA-ES CMA-ESwM The above figures are taken from EvoConJP/CMA-ES_with_Margin.
Please check out the following examples for the usage.
What's Changed
- Running benchmark of Warm Starting CMA-ES on GitHub Actions. by @c-bata in #99
- Validate bounds domain contains mean by @c-bata in #100
- Fix overflow errors uncovered by Coverage-guided Fuzzing. by @c-bata in #104
- Fuzzing for sep-CMA-ES by @c-bata in #105
- Set license_file on setup.cfg by @c-bata in #106
- fix sep-CMA description by @nomuramasahir0 in #107
- Temporarily disable a GitHub action for kurobako benchmarks by @c-bata in #113
- Fix mutable by @nomuramasahir0 in #112
- Run tests with Python 3.10 by @c-bata in #109
- Update author and maintainer package info. by @c-bata in #116
- Introduce some related projects on README by @c-bata in #118
- Migrate the project metadata to pyproject.toml by @c-bata in #119
- Revert #119 to support Python 3.6. by @c-bata in #122
- Support CMA-ES with Margin. by @knshnb in #121
- Add integer examples for CMA-ES with Margin by @nomuramasahir0 in #125
- Support Python 3.11 by @c-bata in #123
- Add README of CMA-ES with margin by @knshnb in #124
- Follow-up #126: Remove Scipy dependency by @c-bata in #127
- Remove SciPy dependency by @amylase in #126
- Use gh instead of ghr by @c-bata in #128
- Bump the version up to v0.9.0 by @c-bata in #129
New Contributors
References
Full Changelog: v0.8.2...v0.9.0
v0.8.2
CHANGES
- Fix dimensions of Warm starting CMA-ES (#98).
- Thank you @Yibinjiang for reporting the bug.
v0.8.1
CHANGES
- Unset version constraint of numpy.
- Remove
extra_requires
for development.
v0.8.0
CHANGES
New features
Warm-starting CMA-ES is now available. It estimates a promising distribution, then generates parameters of the multivariate gaussian distribution used for the initialization of CMA-ES, so that you can exploit optimization results from a similar optimization task. This algorithm is proposed by @nmasahiro, a maintainer of this library, and accepted at AAAI 2021.
Rot Ellipsoid | Ellipsoid |
---|---|
Link
v0.7.1
v0.7.0
CHANGES
New features
Separable CMA-ES is added at #82. It accelerates the search by ignoring the dependency of variables. This is inefficient if there is a strong dependency between variables; however, this technique significantly improves the performance if the dependency can be ignored.
Benchmark |
---|
Dependency
- Drop Python 3.5 support (#74)
Links
v0.6.1
Release v0.6.0
CHANGES
New features
should_stop()
method which checks some termination criterion is added. You can easily implement IPOP-CMA-ES (#50) and BIPOP-CMA-ES (#54) by using this API. These algorithms performs well on multi-modal functions (See the benchmark of #58).
IPOP-CMA-ES | BIPOP-CMA-ES |
---|---|
- Auger, A., Hansen, N.: A restart CMA evolution strategy with increasing population size. In: Proceedings of the 2005 IEEE Congress on Evolutionary Computation (CEC’2005), pp. 1769–1776 (2005a)
- Hansen N. Benchmarking a BI-Population CMA-ES on the BBOB-2009 Function Testbed. In the workshop Proceedings of the Genetic and Evolutionary Computation Conference, GECCO, pages 2389–2395. ACM, 2009.
Remove Optuna sampler.
Remove CMASampler
(deprecated at v0.4.0) and monkeypatch
(deprecated at v0.5.0) for Optuna.
Please use Optuna's official CMA-ES sampler which will be stabled at v2.0.0. You can quickly migrated to Optuna's official sampler by replacing your imports with optuna.samplers.CmaEsSampler()
. See the documentation for details.
Deprecate cmaes.cma
module.
cmaes.cma
module is now deprecated. Please import CMA
class from the package root (#46).
from cmaes.cma import CMA # Deprecated!
↓
from cmaes import CMA # Do this!