Recent Releases of egobox, a Rust toolbox for efficient global optimization

egobox, a Rust toolbox for efficient global optimization - 0.32.0

What's Changed

This release removes experimental or deprecated features so breaking changes below * Remove experimental GBNM internal optimizer by @relf in https://github.com/relf/egobox/pull/285 * GP/SGP 'predict()' and 'predict_var()' return a one-dimensional array by @relf in https://github.com/relf/egobox/pull/286 * Remove deprecated features by @relf in https://github.com/relf/egobox/pull/287

Full Changelog: https://github.com/relf/egobox/compare/0.31.0...0.32.0

Scientific Software - Peer-reviewed - Rust
Published by relf 10 months ago

egobox, a Rust toolbox for efficient global optimization - 0.31.0

What's Changed

  • Improve LogEI criterion computation by @relf in https://github.com/relf/egobox/pull/281 and https://github.com/relf/egobox/pull/283
  • Improve hyperparameters theta bounds handling by @relf in https://github.com/relf/egobox/pull/272
  • Implement LogCEI criterion by @relf in https://github.com/relf/egobox/pull/284

Full Changelog: https://github.com/relf/egobox/compare/0.30.0...0.31.0

Scientific Software - Peer-reviewed - Rust
Published by relf 11 months ago

egobox, a Rust toolbox for efficient global optimization - 0.30.0

What's Changed

  • Refactor GP configuration from Egor optimizer by @relf in https://github.com/relf/egobox/pull/273
  • Improve Egor Python API: to_specs is now useless and deprecated by @relf in https://github.com/relf/egobox/pull/282
  • Add new optim multistart strategy based on picking points in-between training points by @relf in https://github.com/relf/egobox/pull/279
  • Add pyi file generation using pyo3-stub-gen by @relf in https://github.com/relf/egobox/pull/276
  • Fix MoE (hard) gradients, py source dir and theta init by @relf in https://github.com/relf/egobox/pull/278
  • Add link to an example of EGObox optimizer usage (MDO course 2025) by @jomorlier in https://github.com/relf/egobox/pull/280

New Contributors

  • @jomorlier made their first contribution in https://github.com/relf/egobox/pull/280

Scientific Software - Peer-reviewed - Rust
Published by relf 12 months ago

egobox, a Rust toolbox for efficient global optimization - 0.29.1

What's Changed

  • Refactor checkpoint and history file save by @relf in https://github.com/relf/egobox/pull/267
  • Upgrade to PyO3 0.25 by @relf in https://github.com/relf/egobox/pull/269
  • Improve multistart taking into account CoEGO activity by @relf in https://github.com/relf/egobox/pull/270
  • Add naive LogEI infill criterion implementation for experimentation by @relf in https://github.com/relf/egobox/pull/271

Full Changelog: https://github.com/relf/egobox/compare/0.29.0...0.29.1

Scientific Software - Peer-reviewed - Rust
Published by relf about 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.29.0

What's Changed

  • Add experimental Global Bounded Nelder-Mead infill criterion optimizer by @relf in https://github.com/relf/egobox/pull/264
  • Add Rust simple examples by @relf in https://github.com/relf/egobox/pull/266
  • Adjust bounds for GP/SGP theta hyperparameters optimization by @relf in https://github.com/relf/egobox/pull/258
  • Make GP max nb of likelihood evaluations in hyperparameter optimization configurable by @relf in https://github.com/relf/egobox/pull/262
  • Make CoEGO activity matrix more balanced by @relf in https://github.com/relf/egobox/pull/265
  • Fix MOE smooth derivatives test which fails from time to time by @relf in https://github.com/relf/egobox/pull/260
  • Refactor infill criterion optimization by @relf in https://github.com/relf/egobox/pull/259
  • Remove last resort LHS optimization by @relf in https://github.com/relf/egobox/pull/261

Full Changelog: https://github.com/relf/egobox/compare/0.28.1...0.29.0

Scientific Software - Peer-reviewed - Rust
Published by relf about 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.28.1

What's Changed

  • Fix GP internal optimizer default min/max eval by @relf in https://github.com/relf/egobox/pull/255

Full Changelog: https://github.com/relf/egobox/compare/0.28.0...0.28.1

Scientific Software - Peer-reviewed - Rust
Published by relf about 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.28.0

What's Changed

This release contains an implementation of the CoEGO [1] algorithm in a CCBO [2] setting where expensive objective evaluations are done only when all partial optimization problems are solved.

  1. Zhan, Dawei, et al., A cooperative approach to efficient global optimization. Journal of Global Optimization 88.2 (2024): 327-357
  2. Lisa Pretsch et al., Bayesian optimization of cooperative components for multi-stage aero-structural compressor blade design. 2024

See also some breaking changes description in optimizer options in PR #253

  • CoEGO implementation and refactoring by @relf in https://github.com/relf/egobox/pull/253
  • Prepare release 0.28.0 by @relf in https://github.com/relf/egobox/pull/254

Full Changelog: https://github.com/relf/egobox/compare/0.27.1...0.28.0

Scientific Software - Peer-reviewed - Rust
Published by relf about 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.27.1

What's Changed

  • Fix theta optim decision using q_points iter nb by @relf in https://github.com/relf/egobox/pull/248
  • Fix probability of feasibility product gradient by @relf in https://github.com/relf/egobox/pull/249
  • Fix constraint handling and prepare CoEGO implementation by @relf in https://github.com/relf/egobox/pull/251
  • Fix CI release actions by @relf in https://github.com/relf/egobox/pull/247
  • Fix links to crates by @jonaspleyer in https://github.com/relf/egobox/pull/250

New Contributors

  • @jonaspleyer made their first contribution in https://github.com/relf/egobox/pull/250

Full Changelog: https://github.com/relf/egobox/compare/0.27.0...0.27.1

Scientific Software - Peer-reviewed - Rust
Published by relf about 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.27.0

What's Changed

  • moe: Relax number of points required wrt regression spec by @relf in https://github.com/relf/egobox/pull/244
  • ego:
    • Implement upper trusted bound criterion for constraint handling by @relf in https://github.com/relf/egobox/pull/245
    • Implement constrained infill criterion by @relf in https://github.com/relf/egobox/pull/246

Full Changelog: https://github.com/relf/egobox/compare/0.26.0...0.27.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.26.0

What's Changed

  • Manage constraints as functions by @relf in https://github.com/relf/egobox/pull/242

See this example of an optimization with constraint functions compared to the same example where the constraints are provided with the objective (the legacy way) and are approximated with surrogates behind the scene. Constraint functions definition is suited when constraint computation is cheap to avoid surrogate approximation.

To summarize, Egor handles three types of constraint:

  1. the ones defined by the bounds of the input domain (hypercube),
  2. the ones defined with the objective function which are approximated with surrogates
  3. the ones defined as separate cheap-to-compute functions

Notes: * Gradient definition of a constraint function is required when using SLSQP as infill optimizer * Constraint tolerance is defined as a float list of length (nb of surrogated constraints p (cstr) + nb of constraints function q (fcstr)) following the order of definition: [cstr1, ... cstrp, fcstr1, ..., fcstr_q]

Full Changelog: https://github.com/relf/egobox/compare/0.25.2...0.26.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.25.2

What's Changed

  • Fix python action by @relf in https://github.com/relf/egobox/pull/229
  • Fix working directory in python release action by @relf in https://github.com/relf/egobox/pull/230
  • Add readme specific to python egobox binding by @relf in https://github.com/relf/egobox/pull/231
  • Re-enable BLAS backend tests by @relf in https://github.com/relf/egobox/pull/234
  • Add stub file (type annotations) for Python APIs by @unkcpz in https://github.com/relf/egobox/pull/235
  • Fix Python example optim g24 by @relf in https://github.com/relf/egobox/pull/238

New Contributors

  • @unkcpz made their first contribution in https://github.com/relf/egobox/pull/235

Full Changelog: https://github.com/relf/egobox/compare/0.25.1...0.25.2

Scientific Software - Peer-reviewed - Rust
Published by relf over 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.25.1.post1

What's Changed

  • Fix python action by @relf in https://github.com/relf/egobox/pull/229
  • Fix working directory in python release action by @relf in https://github.com/relf/egobox/pull/230

Full Changelog: https://github.com/relf/egobox/compare/0.25.1...0.25.1.post1

Scientific Software - Peer-reviewed - Rust
Published by relf over 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.25.1

What's Changed

  • Refactor repository: sub-crates under crates directory by @relf in https://github.com/relf/egobox/pull/226
  • Adjust publish workflow by @relf in https://github.com/relf/egobox/pull/227
  • Prepare release 0.25.1 by @relf in https://github.com/relf/egobox/pull/228

Full Changelog: https://github.com/relf/egobox/compare/0.25.0...0.25.1

Scientific Software - Peer-reviewed - Rust
Published by relf over 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.25.0

What's Changed

  • gp: Breaking change - Change GP training Rust API to use one-dimensional array for output data by @relf in https://github.com/relf/egobox/pull/222
  • doe: Fix optimized LHS ESE algorithm by @relf in https://github.com/relf/egobox/pull/219
  • egobox::Gpx: Panic if training output data is not one-dimensional by @relf in https://github.com/relf/egobox/pull/218
  • Refactor moe::predict_smooth by @relf in https://github.com/relf/egobox/pull/221
  • Update to numpy crate 0.22.1 to fix win32 compilation by @relf in https://github.com/relf/egobox/pull/216
  • Prepare release 0.25.0 by @relf in https://github.com/relf/egobox/pull/223

Full Changelog: https://github.com/relf/egobox/compare/0.24.0...0.25.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.24.post1

What's Changed

  • Update to numpy crate 0.22.1 to fix win32 compilation by @relf in https://github.com/relf/egobox/pull/216

Full Changelog: https://github.com/relf/egobox/compare/0.24.0...0.24.post1

Scientific Software - Peer-reviewed - Rust
Published by relf over 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.24.0

What's Changed

  • moe: Save/Load surrogates in binary format by @relf in https://github.com/relf/egobox/pull/213
  • Fix badge link by @relf in https://github.com/relf/egobox/pull/201
  • Upgrade to PyO3 0.22 by @relf in https://github.com/relf/egobox/pull/203
  • Bump pyo3 from 0.22.4 to 0.22.5 by @dependabot in https://github.com/relf/egobox/pull/204
  • Prepare release 0.24 by @relf in https://github.com/relf/egobox/pull/215

Full Changelog: https://github.com/relf/egobox/compare/0.23.0...0.24.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.23.0

What's Changed

  • gp:
    • Add training infos getters at Python level by @relf in https://github.com/relf/egobox/pull/196
  • ego:
    • Add checkpointing and hot start by @relf in https://github.com/relf/egobox/pull/197
    • Do not activate TREGO by default by @relf in https://github.com/relf/egobox/pull/198
    • Improve hot start API by @relf in https://github.com/relf/egobox/pull/199
  • Add EGObox logo by @relf in https://github.com/relf/egobox/pull/193
  • Prepare release 0.23 by @relf in https://github.com/relf/egobox/pull/200

Full Changelog: https://github.com/relf/egobox/compare/0.22.0...0.23.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 1 year ago

egobox, a Rust toolbox for efficient global optimization - 0.22.0

What's Changed

  • ego:
    • Save config and optim history by @relf in https://github.com/relf/egobox/pull/190
    • Move the DOE save after the algo the iteration (fixes #182) by @relf in https://github.com/relf/egobox/pull/185
    • Renaming hotstart option and hist fields of optimization result by @relf in https://github.com/relf/egobox/pull/191
  • Maintainance by @relf in https://github.com/relf/egobox/pull/183
  • Prepare release 0.22 by @relf in https://github.com/relf/egobox/pull/192

Full Changelog: https://github.com/relf/egobox/compare/0.21.1...0.22.0

Scientific Software - Peer-reviewed - Rust
Published by relf almost 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.21.1

What's Changed

  • gp: Fix variance gradient computation by @relf in https://github.com/relf/egobox/pull/177

Full Changelog: https://github.com/relf/egobox/compare/0.21.0...0.21.1

Scientific Software - Peer-reviewed - Rust
Published by relf almost 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.21.0

What's Changed

  • Implement TREGO algorithm by @relf in https://github.com/relf/egobox/pull/173
  • Fix added point count in TREGO local step by @relf in https://github.com/relf/egobox/pull/174
  • Fix WB2S criteria scaling factor and fmin computation by @relf in https://github.com/relf/egobox/pull/175
  • Prepare release 0.21 by @relf in https://github.com/relf/egobox/pull/176

Full Changelog: https://github.com/relf/egobox/compare/0.20.0...0.21.0

Scientific Software - Peer-reviewed - Rust
Published by relf almost 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.20.0

What's Changed

  • Make n_optmod option available in Python by @relf in https://github.com/relf/egobox/pull/161
  • Add dependabot cargo ecosystem check by @relf in https://github.com/relf/egobox/pull/163
  • Save original parameters in trained gp models by @relf in https://github.com/relf/egobox/pull/166
  • Implement cross validation metric for surrogates by @relf in https://github.com/relf/egobox/pull/167
  • Better Egor solver state handling by @relf in https://github.com/relf/egobox/pull/168
  • Refactor ego module by @relf in https://github.com/relf/egobox/pull/169

Full Changelog: https://github.com/relf/egobox/compare/0.19.0...0.20.0

Scientific Software - Peer-reviewed - Rust
Published by relf almost 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.19.0

What's Changed

Full Changelog: https://github.com/relf/egobox/compare/0.18.1...0.19.0

Scientific Software - Peer-reviewed - Rust
Published by relf about 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.18.1

What's Changed

  • Fix GP mixture with kpls option on Griewank test function by @relf in https://github.com/relf/egobox/pull/150
  • Prepare release 0.18.1 by @relf in https://github.com/relf/egobox/pull/151

Full Changelog: https://github.com/relf/egobox/compare/0.18.0...0.18.1

Scientific Software - Peer-reviewed - Rust
Published by relf about 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.18.0

What's Changed

  • gp, moe, egobox (Python): Rename predict_derivatives() as predict_gradients() by @relf in https://github.com/relf/egobox/pull/148
  • Prepare release 0.18 by @relf in https://github.com/relf/egobox/pull/149

Full Changelog: https://github.com/relf/egobox/compare/0.17.0...0.18.0

Scientific Software - Peer-reviewed - Rust
Published by relf about 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.17.0

What's Changed

  • [Breaking changes] gp API renaming by @relf in https://github.com/relf/egobox/pull/145
    • predict_values() is renamed predict()
    • predict_variances() is renamed predict_var()
    • predict_variance_derivatives() is renamed predict_var_derivatives() Derivatives predictions (predict_derivatives() and predict_var_derivatives()) are made available in Python.
  • Refactor Mixture of Experts by @relf in https://github.com/relf/egobox/pull/146 Factorize code between full GP and sparse GP implementations
  • Prepare release 0.17 by @relf in https://github.com/relf/egobox/pull/147

Full Changelog: https://github.com/relf/egobox/compare/0.16.0...0.17.0

Scientific Software - Peer-reviewed - Rust
Published by relf about 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.16.0

What's Changed

  • Add Gpx accessors by @relf in https://github.com/relf/egobox/pull/140 Some surrogate traits where refactored:
    • Add GpSurrogateExt trait to manage derivatives and sampling
    • Add GpParameterized trait to manage optimized parameters
    • MixtureGpSurrogate is not a FullGpSurrogate any more
    • Add experts retrieval from GpMixture
  • Fix LHS maximin bug by @relf in https://github.com/relf/egobox/pull/141

Full Changelog: https://github.com/relf/egobox/compare/0.15.3...0.16.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.15.3

What's Changed

  • Improve classic, centered and maximin LHS performance by @relf in https://github.com/relf/egobox/pull/138
  • Prepare release 0.15.3 by @relf in https://github.com/relf/egobox/pull/139

Full Changelog: https://github.com/relf/egobox/compare/0.15.2...0.15.3

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.15.2

What's Changed

  • doe: Improve optimized LHS performance (1.25x speedup) by @relf in https://github.com/relf/egobox/pull/136
  • Prepare release 0.15.2 by @relf in https://github.com/relf/egobox/pull/137

Full Changelog: https://github.com/relf/egobox/compare/0.15.1...0.15.2

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.15.1

What's Changed

  • Rework (mostly internal) API to avoid awkward &Option by @relf in https://github.com/relf/egobox/pull/134
  • Add Python bindings for all LHS flavours by @relf in https://github.com/relf/egobox/pull/135

Full Changelog: https://github.com/relf/egobox/compare/0.15.0...0.15.1

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.15.0

What's Changed

  • Implement Sparse gaussian process methods: see tutorial
    • Implement sparse gaussian process methods by @relf in https://github.com/relf/egobox/pull/128
    • Rework SGP API by @relf in https://github.com/relf/egobox/pull/129
    • Rework Python GpMix API by @relf in https://github.com/relf/egobox/pull/130 Breaking Changes
    • Mixture of sparse GP by @relf in https://github.com/relf/egobox/pull/131
    • Improve GP/SGP API by @relf in https://github.com/relf/egobox/pull/132 Breaking Changes
  • Re-introduce LHS optim parallel processing by @relf in https://github.com/relf/egobox/pull/123
  • Build and release on macos by @relf in https://github.com/relf/egobox/pull/124
  • Maintainance by @relf in https://github.com/relf/egobox/pull/125

Full Changelog: https://github.com/relf/egobox/compare/0.14.0...0.15.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.14.0

What's Changed

  • Fix Egor service in presence of discrete variables by @relf in https://github.com/relf/egobox/pull/119 A few API breaking changes:
  • EgorConfig::xtypes not an option anymore
  • EgorSolver::new_with_xtypes() renamed new as new with xlimits is removed, use to_xtypes to convert xlimits
  • EgorConfig::no_discrete attribute removed, use EgorConfig::discrete() method
  • SurrogateBuilder::new_with_xtypes_rng renamed new_with_xtypes

Full Changelog: https://github.com/relf/egobox/compare/0.13.0...0.14.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.13.0

ego: Egor ask-and-tell interface by @relf in https://github.com/relf/egobox/pull/116

Breaking Changes: API refactoring to enable ask-and-tell interface * Configuration of Egor is factorized out in EgorConfig * EgorBuilder gets a configure method to tune the configuration * EgorService structure represents Egor when used as service (ie. ask-and-tell API) * Python Egor API changes: * function under optimization is now pass via minimize(fun, max_iters=...) method * new method suggest(xdoe, ydoe) allows to ask for x suggestion and tell current function evaluations * new method get_result(xdoe, ydoe) to get the best evaluation (ie the minimum) from given ones

Full Changelog: https://github.com/relf/egobox/compare/0.12.0...0.13.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.12.0

What's Changed

  • gp now uses cobyla by @relf in https://github.com/relf/egobox/pull/110 , https://github.com/relf/egobox/pull/113
  • ego now uses cobyla and slsqp (nlopt is made optional) by @relf in https://github.com/relf/egobox/pull/112
  • egobox Python module: Better mixed-integer type declaration by @relf in https://github.com/relf/egobox/pull/115
  • Upgrade dependencies by @relf in https://github.com/relf/egobox/pull/114
  • Upgrade edition 2021 by @relf in https://github.com/relf/egobox/pull/109
  • CI maintainance by @relf in https://github.com/relf/egobox/pull/111
  • Bump actions/checkout from 2 to 4 by @dependabot in https://github.com/relf/egobox/pull/107
  • Bump actions/setup-python from 2 to 4 by @dependabot in https://github.com/relf/egobox/pull/108

Full Changelog: https://github.com/relf/egobox/compare/0.11.0...0.12.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.11.0

What's Changed

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

Full Changelog: https://github.com/relf/egobox/compare/0.10.1...0.11.0

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.10.1

  • ego
    • Fix bug when best cost is in first iteration it is not selected (#102)
  • egobox Python module
    • Extend mixed-integer Py wrapper to ordered and enumeration variables (#102)
  • Update notebooks (#102)

Scientific Software - Peer-reviewed - Rust
Published by relf over 2 years ago

egobox, a Rust toolbox for efficient global optimization - 0.10.0

  • gp, moe and egobox Python module:

    • Added Gaussian process sampling (#97)
    • Added string representation (#98)
  • egobox Python module:

    • Change recombination enum to respect Python uppercase convention (#98)
  • Notebooks and documentation updates (#97, #98, #99)

Scientific Software - Peer-reviewed - Rust
Published by relf almost 3 years ago

egobox, a Rust toolbox for efficient global optimization - 0.9.0

  • ego:

    • Infill criterion is now a trait object in EgorSolver structure (#92)
    • Egor and EgorSolver API: methods taking argument of type Option 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)

Scientific Software - Peer-reviewed - Rust
Published by relf about 3 years ago

egobox, a Rust toolbox for efficient global optimization - 0.8.2

ego : Fix Egor solver best iteration computation (#89)

Scientific Software - Peer-reviewed - Rust
Published by relf about 3 years ago

egobox, a Rust toolbox for efficient global optimization - 0.8.1

  • ego:
    • Make objective and constraints training in parallel (#86)
    • Lock mopta execution to allow concurrent computations (#84)
    • Fix and adjust infill criterion optimmization retries strategy (#87)
  • moe:
    • Fix k-fold cross-validation (#85)

Scientific Software - Peer-reviewed - Rust
Published by relf about 3 years ago

egobox, a Rust toolbox for efficient global optimization - 0.8.0

  • ego:
    • Renaming XType, XSpec for consistency (#82)
    • Export history in optimization result (#81)
    • Use nb iter instead of nb eval, rename qparallel as qpoints (#79)
    • Warn when inf or nan detected during obj scaling computation (#78)
    • Parallelize constraint scales computations (#73)
    • Parallelize multistart optimizations (#76)
    • Handle GMM errors during MOE training (#75)
    • Handle possible errors from GMM clustering (#74)
    • Upgrade to argmin 0.8.0 (#72)
    • Add mopta08 test case as example (#71)
    • Fix scaling check for infinity (#70)
    • Use kriging surrogate by default (#69)

Scientific Software - Peer-reviewed - Rust
Published by relf over 3 years ago

egobox, a Rust toolbox for efficient global optimization - 0.7.0

  • gp:
    • Add analytic derivatives computations (#54, #55, #56, #58, #60). All derivatives available for all mean/correlation models are implemented.
    • Refactor MeanModel and CorrelationModel methods:
    • apply() renamed to value()
    • jac() renamed to jacobian()
    • Fix prediction computation when using linear regression (#52)
  • ego:
    • Refactor Egor using argmin 0.7.0 solver framework EgorSolver can be used with argmin::Executor and benefit from observers and checkpointing features (#67)
    • Egor use kriging setting by default (i.e. one cluster with constant mean and squared exponential correlation model)
  • Add notebook on Manuau Loa CO2 example to show GpMix/Gpx surrogate model usage (#62)
  • Use xoshiro instead of isaac random generator (#63)
  • Upgrade ndarray 0.15, linfa 0.6.1, PyO3 0.17 (#57, #64)

Scientific Software - Peer-reviewed - Rust
Published by relf over 3 years ago

egobox, a Rust toolbox for efficient global optimization - 0.6.0

  • gp: Kriging derivatives predictions are implemented (#44, #45), derivatives for Gp with linear regression are implemented (#47)
    • predict_derivatives: prediction of the output derivatives y wtr the input x
    • predict_variance_derivatives: prediction of the derivatives of the output variance wrt the input x
  • moe: as above derivatives for smooth and hard predictions are implemented (#46)
  • ego: when available derivatives are used to optimize the infill criterion with slsqp (#44)
  • egobox Python binding: add GpMix/Gpx in Python egobox module, the Python binding of egobox-moe::Moe (#31)

Scientific Software - Peer-reviewed - Rust
Published by relf over 3 years ago

egobox, a Rust toolbox for efficient global optimization - 0.5.0

  • Enable Egor optimizer interruption with Ctrl+C (#30)
  • API improvements: generalize the use of ArrayBase<...>, better linfa integration by implementing PredictInplace trait (#37)
  • Minor performance improvement in mixture of experts clustering (#29)
  • Documentation improvements: JOSS paper submission review (#34, #36, #38, #39, #40, #42)

Scientific Software - Peer-reviewed - Rust
Published by relf over 3 years ago

egobox, a Rust toolbox for efficient global optimization - 0.4.0

  • Generate Python egobox module for Linux (#20)
  • Improve Egor robustness by adding LHS optimization (#21)
  • Improve moe with automatic number of clusters determination (#22)
  • Use linfa 0.6.0 making BLAS dependency optional (#23)
  • Improve Egor by implementing automatic reclustering every 10-points addition (#25)
  • Fix Egor parallel infill strategy (qEI): bad objectives and constraints gp models update (#26)

Scientific Software - Peer-reviewed - Rust
Published by relf almost 4 years ago

egobox, a Rust toolbox for efficient global optimization - 0.3.0

  • Refactor sub-packages to follow linfa conventions
  • Improve naming consistency
  • Update documentation

Scientific Software - Peer-reviewed - Rust
Published by relf about 4 years ago

egobox, a Rust toolbox for efficient global optimization - 0.2.1

  • Improve documentation
  • egobox Python module: rename egobox Optimizer class to Egor

Scientific Software - Peer-reviewed - Rust
Published by relf about 4 years ago

egobox, a Rust toolbox for efficient global optimization - 0.2.0

New features: * Add hot start * Add constraint handling * Add mixed-integer optimization capability * Add Python binding with PyO3

Scientific Software - Peer-reviewed - Rust
Published by relf about 4 years ago

egobox, a Rust toolbox for efficient global optimization - 0.1.0

Initial version contains: * doe: LHS, FullFactorial, Random sampling * gp: Gaussian Process models with 3 regression models (constant, linear quadratic) and 4 correlation models (squared exponential, absolute exponential, matern32, matern52) * moe: Mixture of Experts: find the bests mix of gps given a number of clusters regarding smooth or hard recombination * ego: Contains egor optimizer which is a super EGO algorithm implemented on top of the previous elements. It implements several infill strategy: EI, WB2, WB2S and use either COBYLA or SLSQP for internal optimization.

Scientific Software - Peer-reviewed - Rust
Published by relf over 4 years ago