Skip to content

Commit 1ec5011

Browse files
committed
v4.4.3
1 parent 5ea1f50 commit 1ec5011

File tree

4 files changed

+43
-20
lines changed

4 files changed

+43
-20
lines changed

README.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,17 @@ Zenodo: 34 points to the latest release (v4.4.2: https://zenodo.org/records/1835
2222

2323
``pycma`` is a Python implementation of [CMA-ES](http://cma-es.github.io/) and some related numerical optimization tools.
2424

25-
The [CMA-ES](http://cma-es.github.io) ([Covariance Matrix Adaptation Evolution Strategy](https://en.wikipedia.org/wiki/CMA-ES)) is a stochastic derivative-free numerical optimization
26-
algorithm for difficult (non-convex, ill-conditioned, multi-modal, rugged, noisy) optimization
27-
problems in continuous and mixed-integer search spaces.
25+
The [CMA-ES](http://cma-es.github.io) ([Covariance Matrix Adaptation Evolution
26+
Strategy](https://en.wikipedia.org/wiki/CMA-ES)) is a randomized derivative-free
27+
numerical optimization algorithm for difficult (non-convex, ill-conditioned,
28+
multi-modal, rugged, noisy) optimization problems in continuous and
29+
mixed-integer search spaces. This package provides an implementation of the
30+
CMA-ES algorithm that includes the handling of
31+
32+
* bound constraints via the ``'bounds' = [lower, upper]`` option or the `cma.BoundDomainTransform` wrapper
33+
* linear and nonlinear constraints via the ``constraints`` argument to `fmin2` or `fmin_con2`
34+
* noise via ``noise_handler=True`` as argument to `fmin2`
35+
* integer variables for mixed-integer problems via the ``'integer_variables'=index_list`` option
2836

2937
## Documentation and Getting Started (Links)
3038

@@ -93,6 +101,21 @@ either of these with ``sudo``.
93101

94102
## Version History
95103

104+
* [Release ``4.4.3``](https://github.com/CMA-ES/pycma/releases/tag/r4.4.3)
105+
- Addressing [issue 231](https://github.com/CMA-ES/pycma/issues/231), failures
106+
in corner cases with large population size, by increasing the step-size
107+
damping of CSA and TPA. This seems also to improve the performance on
108+
`bbob-f24` in 10 and 20-D while worsening the performance on `bbob-f23` in 10 and
109+
40-D.
110+
- Provide option `'TPA_dampfac'` analogous to `'CSA_dampfac'`.
111+
- Plots now show the current best solution _and_ the distribution mean in two subplots.
112+
- New:
113+
- Provide the two (by far) most useful statistical tests with a tidy
114+
interface in ``cma.utilities.math.test...``
115+
- Provide a `more_algorithms` sub-package containing `purecma` and `CompactGA`.
116+
- Provide a provisional `experimentation` module (requires `import cma.experimentation`).
117+
- A few smaller fixes and improvements.
118+
96119
* [Release ``4.4.2``](https://github.com/CMA-ES/pycma/releases/tag/r4.4.2)
97120
- Fix compatibility issues (with [`comocma`](https://github.com/CMA-ES/pycomocma)):
98121
- add back the (deprecated) `cma.constraints_handling.BoundTransform` class

cma/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103

104104
___author__ = "Nikolaus Hansen and Petr Baudis and Youhei Akimoto"
105105
__license__ = "BSD 3-clause"
106-
__version__ = "4.4.2"
106+
__version__ = "4.4.3"
107107

108108

109109
import collections as _collections

setup-howto.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,19 @@
6161
Loop over tests and distribution and fix code until everything is fine.
6262
6363
7.a
64-
Draft a release on GitHub: click on releases and then new draft. Use above text added in README.md.
64+
Create a tag to pick later for the Github release::
6565
66-
7.b
66+
git tag -a r4.4.1 -m 'r4.4.1 bug fixes and...'
67+
68+
(Alternatively: push code to development and/or main (this must be done at some
69+
point anyways, if only to update the README.md.) and ``git fetch`` or with
70+
``--tags`` to fetch tags not followed remotely.)
71+
72+
7b.
73+
Draft a release on Github (click on releases and then new draft) and use the
74+
text above added in README.md.
75+
76+
7.c
6777
Upload the distribution (was: in ``install-folder``)::
6878
6979
# optional (test upload):
@@ -73,20 +83,10 @@
7383
open https://test.pypi.org/project/cmae
7484
7585
twine upload dist/*4.4.4*
76-
77-
7.c
78-
Create and push a tag, mainly to avoid changing any remote branch to pick for release draft::
79-
80-
git tag -a r4.4.1 -m 'r4.4.1 bug fixes and...'
8186
git push origin r4.4.1
8287
83-
Alternatively: push code to development and/or main (this must be done at some
84-
point anyways, if only to update the README.md.) and::
85-
86-
git fetch # or with --tags to fetch tags not followed remotely
87-
8888
8.
89-
Finalize and publish the release drafted on Github.
89+
On Github: select the tag, review and publish the release.
9090
9191
9.
9292
Push new docs to github
@@ -101,11 +101,11 @@
101101
Update main and push main and development to remote
102102
103103
104-
Anaconda::
104+
conda-forge::
105105
106106
# edit version number in tools/conda.recipe/meta.yaml
107107
./script-prepare-distribution.sh # make clean install-folder
108-
conda-build -q tools/conda.recipe # takes about 1/2 hour, currently again broken
108+
conda-build -q tools/conda.recipe # takes about 4 minutes
109109
110110
"""
111111
# from distutils.core import setup

tools/conda.recipe/meta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package:
2-
version: "4.4.2"
2+
version: "4.4.3"
33
name: 'cma'
44

55
source:

0 commit comments

Comments
 (0)