Skip to content

Releases: CyberAgentAILab/cmaes

v0.10.0

19 Jul 04:11
4ebcdbd
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.1...v0.10.0

v0.9.1

06 Jan 06:06
f7ccf97
Compare
Choose a tag to compare

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 inside CMAwM 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, and typing.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

08 Nov 08:36
8f7a584
Compare
Choose a tag to compare

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.

R. Hamano, S. Saito, M. Nomura, S. Shirakawa, CMA-ES with Margin: Lower-Bounding Marginal Probability for Mixed-Integer Black-Box Optimization, GECCO, 2022.

CMA-ES CMA-ESwM
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

New Contributors

References

Full Changelog: v0.8.2...v0.9.0

v0.8.2

19 Feb 15:39
Compare
Choose a tag to compare

CHANGES

  • Fix dimensions of Warm starting CMA-ES (#98).

v0.8.1

10 Feb 10:01
Compare
Choose a tag to compare

CHANGES

  • Unset version constraint of numpy.
  • Remove extra_requires for development.

v0.8.0

03 Feb 09:30
Compare
Choose a tag to compare

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
rot-ellipsoid quadratic

Link

v0.7.1

02 Feb 06:41
Compare
Choose a tag to compare

CHANGES

  • Support Python 3.9 (#84)
  • Refactor constants definitions (#85)
  • Add tox.ini (#86)
  • Remove numpy from setup_requires (#90)

v0.7.0

20 Oct 05:55
Compare
Choose a tag to compare

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
68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f6b75726f62616b6f2d7265706f7274732f43796265724167656e742f636d6165732f7369782d68756d702d63616d656c2d34383231326238303339373266353830656439316335633838343262666631303331623136373336

Dependency

  • Drop Python 3.5 support (#74)

Links

v0.6.1

05 Sep 12:51
Compare
Choose a tag to compare

CHANGES

Bug fixes

  • Fix coordinate rotation (#77).
    • This bug leads to serious performance degradation on ill-conditioned problems.

Links

Release v0.6.0

26 Jul 16:35
a84c3e2
Compare
Choose a tag to compare

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
visualize-ipop-cmaes-himmelblau visualize-bipop-cmaes-himmelblau

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!

Link