Skip to content

Commit

Permalink
Prepare release 0.9.0 (#96)
Browse files Browse the repository at this point in the history
* Rename mixed in mixint

* Fix doc test

* Bump 0.9.0

* Update changelog

* Update README
  • Loading branch information
relf authored Jun 2, 2023
1 parent 6242d82 commit 0fdd445
Show file tree
Hide file tree
Showing 12 changed files with 42 additions and 29 deletions.
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
Changes
-------

Version 0.9.0 - unreleased
Version 0.10.0 - unreleased
==========================

Version 0.9.0 - 02/06/2023
==========================

* `ego`:
* Infill criterion is now a trait object in `EgorSolver` structure (#92)
* `Egor` and `EgorSolver` API: methods taking argument of type Option<T> now take argument of type T (#94)
* `EgorBuilder::min_within_mixed_space()` is now `EgorBuilder::min_within_mixint_space()` (#96)
* `egobox-ego` library doc updated (#95)

* `egobox` Python binding: Upgrade to PyO3 0.18 (#91)

Version 0.8.2 - 31/03/2023
==========================

Expand Down
10 changes: 5 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "egobox"
version = "0.8.2"
version = "0.9.0"
authors = ["Rémi Lafage <[email protected]>"]
edition = "2018"
description = "A toolbox for efficient global optimization"
Expand All @@ -25,10 +25,10 @@ persistent-ego = ["egobox-ego/persistent"]
blas = ["ndarray/blas", "egobox-gp/blas", "egobox-moe/blas", "egobox-ego/blas"]

[dependencies]
egobox-doe = { version = "0.8.1", path="./doe" }
egobox-gp = { version = "0.8.1", path="./gp" }
egobox-moe = { version = "0.8.1", path="./moe", features=["persistent"] }
egobox-ego = { version = "0.8.2", path="./ego", features=["persistent"] }
egobox-doe = { version = "0.9.0", path="./doe" }
egobox-gp = { version = "0.9.0", path="./gp" }
egobox-moe = { version = "0.9.0", path="./moe", features=["persistent"] }
egobox-ego = { version = "0.9.0", path="./ego", features=["persistent"] }

linfa = { version = "0.6.1", default-features = false }

Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ Depending on the sub-packages you want to use, you have to add following declara

```text
[dependencies]
egobox-doe = { version = "0.8.0" }
egobox-gp = { version = "0.8.0" }
egobox-moe = { version = "0.8.0" }
egobox-ego = { version = "0.8.0" }
egobox-doe = { version = "0.9.0" }
egobox-gp = { version = "0.9.0" }
egobox-moe = { version = "0.9.0" }
egobox-ego = { version = "0.9.0" }
```

### Features
Expand Down Expand Up @@ -74,7 +74,7 @@ Otherwise, you can choose an external BLAS/LAPACK backend available through the
Thus, for instance, to use `gp` with the Intel MKL BLAS/LAPACK backend, you could specify in your `Cargo.toml` the following features:
```text
[dependencies]
egobox-gp = { version = "0.8.0", features = ["blas", "linfa/intel-mkl-static"] }
egobox-gp = { version = "0.9.0", features = ["blas", "linfa/intel-mkl-static"] }
```
or you could run the `gp` example as follows:
``` bash
Expand Down
2 changes: 1 addition & 1 deletion doe/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "egobox-doe"
version = "0.8.1"
version = "0.9.0"
authors = ["Rémi Lafage <[email protected]>"]
edition = "2018"
description = "A library for design of experiments"
Expand Down
8 changes: 4 additions & 4 deletions ego/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "egobox-ego"
version = "0.8.2"
version = "0.9.0"
authors = ["Rémi Lafage <[email protected]>"]
edition = "2018"
description = "A library for efficient global optimization"
Expand All @@ -16,9 +16,9 @@ persistent = ["serde_json"]
blas = ["ndarray-linalg", "linfa/ndarray-linalg", "linfa-pls/blas"]

[dependencies]
egobox-doe = { version = "0.8.1", path = "../doe", features = ["serializable"] }
egobox-gp = { version = "0.8.1", path = "../gp", features = ["serializable"] }
egobox-moe = { version = "0.8.1", path = "../moe", features = ["serializable"] }
egobox-doe = { version = "0.9.0", path = "../doe", features = ["serializable"] }
egobox-gp = { version = "0.9.0", path = "../gp", features = ["serializable"] }
egobox-moe = { version = "0.9.0", path = "../moe", features = ["serializable"] }

linfa = { version = "0.6.1", default-features = false }
linfa-pls = { version = "0.6.1", default-features = false }
Expand Down
8 changes: 4 additions & 4 deletions ego/src/egor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ impl<O: GroupFunc> EgorBuilder<O> {
/// Build an Egor optimizer to minimize the function R^n -> R^p taking
/// inputs specified with given xtypes where some of components may be
/// discrete variables (mixed-integer optimization).
pub fn min_within_mixed_space(self, xtypes: &[XType]) -> Egor<O, MixintMoeParams> {
pub fn min_within_mixint_space(self, xtypes: &[XType]) -> Egor<O, MixintMoeParams> {
let rng = if let Some(seed) = self.seed {
Xoshiro256Plus::seed_from_u64(seed)
} else {
Expand Down Expand Up @@ -585,7 +585,7 @@ mod tests {

let res = EgorBuilder::optimize(mixsinx)
.random_seed(42)
.min_within_mixed_space(&xtypes)
.min_within_mixint_space(&xtypes)
.doe(&doe)
.n_iter(n_iter)
.target(-15.1)
Expand All @@ -603,7 +603,7 @@ mod tests {

let res = EgorBuilder::optimize(mixsinx)
.random_seed(42)
.min_within_mixed_space(&xtypes)
.min_within_mixint_space(&xtypes)
.doe(&doe)
.n_iter(n_iter)
.target(-15.1)
Expand All @@ -621,7 +621,7 @@ mod tests {

let res = EgorBuilder::optimize(mixsinx)
.random_seed(42)
.min_within_mixed_space(&xtypes)
.min_within_mixint_space(&xtypes)
.regression_spec(egobox_moe::RegressionSpec::CONSTANT)
.correlation_spec(egobox_moe::CorrelationSpec::SQUAREDEXPONENTIAL)
.n_iter(n_iter)
Expand Down
2 changes: 1 addition & 1 deletion ego/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
//!
//! let res = EgorBuilder::optimize(mixsinx)
//! .random_seed(42)
//! .min_within_mixed_space(&xtypes) // We build a mixed-integer optimizer
//! .min_within_mixint_space(&xtypes) // We build a mixed-integer optimizer
//! .doe(&doe) // we pass the initial doe
//! .n_iter(n_iter)
//! .infill_strategy(InfillStrategy::EI)
Expand Down
4 changes: 3 additions & 1 deletion ego/src/types.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
use crate::errors::Result;
use argmin::core::CostFunction;
use egobox_moe::{ClusteredSurrogate, Clustering};
pub use egobox_moe::{CorrelationSpec, RegressionSpec};
use linfa::Float;
use ndarray::{Array1, Array2, ArrayView2};
use serde::{Deserialize, Serialize};

/// Enums for regression and correlation selection
pub use egobox_moe::{CorrelationSpec, RegressionSpec};

/// Optimization result
#[derive(Clone, Debug)]
pub struct OptimResult<F: Float> {
Expand Down
4 changes: 2 additions & 2 deletions gp/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "egobox-gp"
version = "0.8.1"
version = "0.9.0"
authors = ["Rémi Lafage <[email protected]>"]
edition = "2018"
description = "A library for gaussian process modeling"
Expand All @@ -16,7 +16,7 @@ serializable = ["serde", "linfa/serde"]
blas = ["ndarray-linalg", "linfa/ndarray-linalg", "linfa-pls/blas"]

[dependencies]
egobox-doe = { version = "0.8.1", path="../doe" }
egobox-doe = { version = "0.9.0", path="../doe" }

linfa = { version = "0.6.1", default-features = false }
linfa-pls = { version = "0.6.1", default-features = false }
Expand Down
6 changes: 3 additions & 3 deletions moe/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "egobox-moe"
version = "0.8.1"
version = "0.9.0"
authors = ["Rémi Lafage <[email protected]>"]
edition = "2018"
description = "A library for mixture of expert gaussian processes"
Expand All @@ -17,8 +17,8 @@ serializable = ["serde", "typetag", "linfa-clustering/serde", "egobox-gp/seriali
blas = ["ndarray-linalg", "linfa/ndarray-linalg", "linfa-clustering/blas", "linfa-pls/blas"]

[dependencies]
egobox-doe = { version = "0.8.1", path = "../doe" }
egobox-gp = { version = "0.8.1", path = "../gp" }
egobox-doe = { version = "0.9.0", path = "../doe" }
egobox-gp = { version = "0.9.0", path = "../gp" }

linfa = { version = "0.6.1", default-features = false }
linfa-clustering = { version = "0.6.1", default-features = false }
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ python-source="python"

[tool.poetry]
name = "egobox"
version = "0.8.2"
version = "0.9.0"
description = "Python binding for egobox EGO optimizer written in Rust"
authors = ["Rémi Lafage <[email protected]>"]

Expand Down
2 changes: 1 addition & 1 deletion src/egor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ impl Egor {
};

let mut mixintegor = mixintegor_build
.min_within_mixed_space(&xtypes)
.min_within_mixint_space(&xtypes)
.n_cstr(self.n_cstr)
.n_iter(n_iter)
.n_start(self.n_start)
Expand Down

0 comments on commit 0fdd445

Please sign in to comment.