Skip to content

Commit 2d770d1

Browse files
authored
Prepare release 0.16 (#142)
* Update changelog * Bump version to 0.16
1 parent 7570b57 commit 2d770d1

File tree

8 files changed

+51
-62
lines changed

8 files changed

+51
-62
lines changed

CHANGELOG.md

Lines changed: 30 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
1-
Changes
2-
-------
1+
# Changes
32

4-
Version 0.16.0 - unreleased
5-
===========================
3+
## Version 0.17.0 - unreleased
64

7-
Version 0.15.0 - 02/01/2023
8-
===========================
5+
## Version 0.16.0 - 07/03/2024
6+
7+
* Add `Gpx` accessors by @relf in <https://github.com/relf/egobox/pull/140>
8+
* Fix `LHS` maximin bug by @relf in <https://github.com/relf/egobox/pull/141>
9+
* `doe`: Improve classic, centered and maximin LHS performances by @relf in <https://github.com/relf/egobox/pull/138>
10+
* `doe`: Improve optimized LHS performances (1.25x speedup) by @relf in <https://github.com/relf/egobox/pull/136>
11+
* Rework (mostly internal) API to avoid awkward &Option by @relf in <https://github.com/relf/egobox/pull/134>
12+
* Add Python bindings for all LHS flavours by @relf in <https://github.com/relf/egobox/pull/135>
13+
14+
## Version 0.15.0 - 02/01/2024
915

1016
* `gp`: Implement sparse gaussian process methods (cf. `SparseGaussianProcess`)
1117
* Python binding: `SparseGpMix`, see doc/tutorial
@@ -14,8 +20,7 @@ Version 0.15.0 - 02/01/2023
1420
* `n_start` controls the number of optimization multistart
1521
* In GP/SGP `rayon` is used to make parallel optimization multistart
1622

17-
Version 0.14.0 - 13/12/2023
18-
===========================
23+
## Version 0.14.0 - 13/12/2023
1924

2025
* `ego`: Fix ask-and-tell interface `suggest()` method in presence of discrete variable to work
2126
in discrete not in continuous space
@@ -25,20 +30,18 @@ A few API breaking changes:
2530
* `EgorConfig::no_discrete` attribute removed, use `EgorConfig::discrete()` method
2631
* `SurrogateBuilder::new_with_xtypes_rng` renamed `new_with_xtypes`
2732

28-
Version 0.13.0 - 30/11/2023
29-
===========================
33+
## Version 0.13.0 - 30/11/2023
3034

3135
* `ego`: API refactoring to enable `ask-and-tell` interface
3236
* Configuration of Egor is factorize out in `EgorConfig`
3337
* `EgorBuilder` gets a `configure` method to tune the configuration
3438
* `EgorService` structure represent `Egor` when used as service
3539
* Python `Egor` API changes:
36-
* function under optimization is now given via `minimize(fun, max_iters=...)` method
40+
* function under optimization is now given via `minimize(fun, max_iters-...)` method
3741
* new method `suggest(xdoe, ydoe)` allows to ask for x suggestion and tell current function evaluations
3842
* new method `get_result(xdoe, ydoe)` to get the best evaluation (ie minimum) from given ones
3943

40-
Version 0.12.0 - 10/11/2023
41-
===========================
44+
## Version 0.12.0 - 10/11/2023
4245

4346
* `gp` uses pure Rust COBYLA by @relf in <https://github.com/relf/egobox/pull/110,https://github.com/relf/egobox/pull/113>
4447
* `ego` as pure Rust implementation (`nlopt` is now optional) by @relf in <https://github.com/relf/egobox/pull/112>
@@ -49,16 +52,14 @@ Version 0.12.0 - 10/11/2023
4952
* Bump actions/checkout from 2 to 4 by @dependabot in <https://github.com/relf/egobox/pull/107>
5053
* Bump actions/setup-python from 2 to 4 by @dependabot in <https://github.com/relf/egobox/pull/108>
5154

52-
Version 0.11.0 - 20/09/2023
53-
===========================
55+
## Version 0.11.0 - 20/09/2023
5456

5557
* Automate Python package build and upload on Pypi from Github CI by @relf in <https://github.com/relf/egobox/pull/104>
5658
* Fix FullFactorial when asked nb iof samples is small wrt x dimension
5759
by @relf in <https://github.com/relf/egobox/pull/105>
5860
* Make mixed-integer sampling methods available in Python by @relf in <https://github.com/relf/egobox/pull/106>
5961

60-
Version 0.10.0 - 22/06/2023
61-
===========================
62+
## Version 0.10.0 - 22/06/2023
6263

6364
* `gp`, `moe` and `egobox` Python module:
6465
* Added Gaussian process sampling (#97)
@@ -69,8 +70,7 @@ Version 0.10.0 - 22/06/2023
6970

7071
* Notebooks and documentation updates (#97, #98, #99)
7172

72-
Version 0.9.0 - 02/06/2023
73-
==========================
73+
## Version 0.9.0 - 02/06/2023
7474

7575
* `ego`:
7676
* Infill criterion is now a trait object in `EgorSolver` structure (#92)
@@ -81,14 +81,12 @@ Version 0.9.0 - 02/06/2023
8181

8282
* `egobox` Python module: Upgrade to PyO3 0.18 (#91)
8383

84-
Version 0.8.2 - 31/03/2023
85-
==========================
84+
## Version 0.8.2 - 31/03/2023
8685

8786
* `ego`:
8887
* Fix Egor solver best iter computation (#89)
8988

90-
Version 0.8.1 - 28/03/2023
91-
==========================
89+
## Version 0.8.1 - 28/03/2023
9290

9391
* `ego`:
9492
* Make objective and constraints training in parallel (#86)
@@ -97,8 +95,7 @@ Version 0.8.1 - 28/03/2023
9795
* `moe`:
9896
* Fix k-fold cross-validation (#85)
9997

100-
Version 0.8.0 - 10/03/2023
101-
==========================
98+
## Version 0.8.0 - 10/03/2023
10299

103100
* `ego`:
104101
* Renaming `XType`, `XSpec` for consistency (#82)
@@ -114,8 +111,7 @@ Version 0.8.0 - 10/03/2023
114111
* Fix scaling check for infinity (#70)
115112
* Use kriging surrogate by default (#69)
116113

117-
Version 0.7.0 - 11/01/2023
118-
==========================
114+
## Version 0.7.0 - 11/01/2023
119115

120116
* `gp`:
121117
* Add analytic derivatives computations (#54, #55, #56, #58, #60). All derivatives available for all mean/correlation models are implemented.
@@ -130,8 +126,7 @@ Version 0.7.0 - 11/01/2023
130126
* Use xoshiro instead of isaac random generator (#63)
131127
* Upgrade `ndarray 0.15`, `linfa 0.6.1`, `PyO3 0.17` (#57, #64)
132128

133-
Version 0.6.0 - 2022-11-14
134-
==========================
129+
## Version 0.6.0 - 2022-11-14
135130

136131
* `gp`: Kriging derivatives predictions are implemented (#44, #45), derivatives for Gp with linear regression are implemented (#47)
137132
* `predict_derivatives`: prediction of the output derivatives y wtr the input x
@@ -140,15 +135,13 @@ Version 0.6.0 - 2022-11-14
140135
* `ego`: when available derivatives are used to optimize the infill criterion with slsqp (#44)
141136
* `egobox` Python binding: add `GpMix`/`Gpx` in Python `egobox` module, the Python binding of `egobox-moe::Moe` (#31)
142137

143-
Version 0.5.0 - 2022-10-07
144-
==========================
138+
## Version 0.5.0 - 2022-10-07
145139

146140
* Add Egor `minimize` interruption capability (Ctrl+C) from Python (#30)
147141
* Minor performance improvement in moe clustering (#29)
148142
* Improvements following JOSS submission review (#34, #36, #38, #39, #40, #42)
149143

150-
Version 0.4.0 - 2022-07-09
151-
==========================
144+
## Version 0.4.0 - 2022-07-09
152145

153146
* Generate Python `egobox` module for Linux (#20)
154147
* Improve `Egor` robustness by adding LHS optimization (#21)
@@ -157,8 +150,7 @@ Version 0.4.0 - 2022-07-09
157150
* Improve `Egor` by implementing automatic reclustering every 10-points addition (#25)
158151
* Fix `Egor` parallel infill strategy (qEI): bad objectives and constraints gp models updste (#26)
159152

160-
Version 0.3.0 - 2022-05-05
161-
==========================
153+
## Version 0.3.0 - 2022-05-05
162154

163155
Improve mixture of experts (#15)
164156

@@ -183,22 +175,19 @@ Refactor `MixintEgor` (#17)
183175
* Rename `SurrogateParams` to `MoeBuilder`
184176
* Rename `n_parallel` to `q_parallel` (qEI stategy)
185177

186-
Version 0.2.1 - 2022-04-13
187-
==========================
178+
## Version 0.2.1 - 2022-04-13
188179

189180
* Improve documentation
190181
* `egobox` Python module: rename egobox `Optimizer` class to `Egor`
191182

192-
Version 0.2.0 - 2022-03-24
193-
==========================
183+
## Version 0.2.0 - 2022-03-24
194184

195185
* Add hot start
196186
* Add constraint handling
197187
* Add mixed-integer optimization capability
198188
* Add Python binding with PyO3
199189

200-
Version 0.1.0 - 2021-11-18
201-
==========================
190+
## Version 0.1.0 - 2021-11-18
202191

203192
Initial release
204193

Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "egobox"
3-
version = "0.15.3"
3+
version = "0.16.0"
44
authors = ["Rémi Lafage <[email protected]>"]
55
edition = "2021"
66
description = "A toolbox for efficient global optimization"
@@ -31,10 +31,10 @@ persistent-moe = ["egobox-moe/persistent"]
3131
blas = ["ndarray/blas", "egobox-gp/blas", "egobox-moe/blas", "egobox-ego/blas"]
3232

3333
[dependencies]
34-
egobox-doe = { version = "0.15.3", path = "./doe" }
35-
egobox-gp = { version = "0.15.3", path = "./gp" }
36-
egobox-moe = { version = "0.15.3", path = "./moe", features = ["persistent"] }
37-
egobox-ego = { version = "0.15.3", path = "./ego", features = ["persistent"] }
34+
egobox-doe = { version = "0.16.0", path = "./doe" }
35+
egobox-gp = { version = "0.16.0", path = "./gp" }
36+
egobox-moe = { version = "0.16.0", path = "./moe", features = ["persistent"] }
37+
egobox-ego = { version = "0.16.0", path = "./ego", features = ["persistent"] }
3838

3939
linfa = { version = "0.7", default-features = false }
4040

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ Depending on the sub-packages you want to use, you have to add following declara
4141

4242
```text
4343
[dependencies]
44-
egobox-doe = { version = "0.15" }
45-
egobox-gp = { version = "0.15" }
46-
egobox-moe = { version = "0.15" }
47-
egobox-ego = { version = "0.15" }
44+
egobox-doe = { version = "0.16" }
45+
egobox-gp = { version = "0.16" }
46+
egobox-moe = { version = "0.16" }
47+
egobox-ego = { version = "0.16" }
4848
```
4949

5050
### Features
@@ -108,7 +108,7 @@ Thus, for instance, to use `gp` with the Intel MKL BLAS/LAPACK backend, you coul
108108

109109
```text
110110
[dependencies]
111-
egobox-gp = { version = "0.15", features = ["blas", "linfa/intel-mkl-static"] }
111+
egobox-gp = { version = "0.16", features = ["blas", "linfa/intel-mkl-static"] }
112112
```
113113

114114
or you could run the `gp` example as follows:

doe/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "egobox-doe"
3-
version = "0.15.3"
3+
version = "0.16.0"
44
authors = ["Rémi Lafage <[email protected]>"]
55
edition = "2021"
66
description = "A library for design of experiments"

ego/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "egobox-ego"
3-
version = "0.15.3"
3+
version = "0.16.0"
44
authors = ["Rémi Lafage <[email protected]>"]
55
edition = "2021"
66
description = "A library for efficient global optimization"
@@ -16,11 +16,11 @@ persistent = ["egobox-moe/persistent"]
1616
blas = ["ndarray-linalg", "linfa/ndarray-linalg", "linfa-pls/blas"]
1717

1818
[dependencies]
19-
egobox-doe = { version = "0.15.3", path = "../doe", features = [
19+
egobox-doe = { version = "0.16.0", path = "../doe", features = [
2020
"serializable",
2121
] }
22-
egobox-gp = { version = "0.15.3", path = "../gp", features = ["serializable"] }
23-
egobox-moe = { version = "0.15.3", path = "../moe", features = [
22+
egobox-gp = { version = "0.16.0", path = "../gp", features = ["serializable"] }
23+
egobox-moe = { version = "0.16.0", path = "../moe", features = [
2424
"serializable",
2525
] }
2626

gp/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "egobox-gp"
3-
version = "0.15.3"
3+
version = "0.16.0"
44
authors = ["Rémi Lafage <[email protected]>"]
55
edition = "2021"
66
description = "A library for gaussian process modeling"
@@ -18,7 +18,7 @@ persistent = ["serializable", "serde_json"]
1818
blas = ["ndarray-linalg", "linfa/ndarray-linalg", "linfa-pls/blas"]
1919

2020
[dependencies]
21-
egobox-doe = { version = "0.15.3", path = "../doe" }
21+
egobox-doe = { version = "0.16.0", path = "../doe" }
2222

2323
linfa = { version = "0.7", default-features = false }
2424
linfa-pls = { version = "0.7", default-features = false }

moe/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "egobox-moe"
3-
version = "0.15.3"
3+
version = "0.16.0"
44
authors = ["Rémi Lafage <[email protected]>"]
55
edition = "2021"
66
description = "A library for mixture of expert gaussian processes"
@@ -29,8 +29,8 @@ serializable = [
2929
blas = ["ndarray-linalg", "linfa/ndarray-linalg", "linfa-pls/blas"]
3030

3131
[dependencies]
32-
egobox-doe = { version = "0.15.3", path = "../doe" }
33-
egobox-gp = { version = "0.15.3", path = "../gp" }
32+
egobox-doe = { version = "0.16.0", path = "../doe" }
33+
egobox-gp = { version = "0.16.0", path = "../gp" }
3434

3535
linfa = { version = "0.7", default-features = false }
3636
linfa-clustering = { version = "0.7", default-features = false }

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ python-source = "python"
2424

2525
[tool.poetry]
2626
name = "egobox"
27-
version = "0.15.3"
27+
version = "0.16.0"
2828
description = "Python binding for egobox EGO optimizer written in Rust"
2929
authors = ["Rémi Lafage <[email protected]>"]
3030
packages = [{ include = "egobox", from = "python" }]

0 commit comments

Comments
 (0)