40 releases (26 breaking)

new 0.28.1 Apr 25, 2025
0.27.1 Apr 2, 2025
0.27.0 Mar 13, 2025
0.25.0 Dec 19, 2024
0.4.0 Jul 9, 2022

#1174 in Machine learning

Download history 166/week @ 2025-01-01 9/week @ 2025-01-08 153/week @ 2025-02-05 172/week @ 2025-02-12 3/week @ 2025-02-19 24/week @ 2025-02-26 144/week @ 2025-03-12 13/week @ 2025-03-19 157/week @ 2025-04-02 65/week @ 2025-04-09 175/week @ 2025-04-16

399 downloads per month
Used in egobox

Apache-2.0

650KB
13K SLoC

Efficient global optimization

crates.io docs

egobox-ego provides a Rust implementation of efficient global optimization algorithm. It is a Rust port of EGO of the SMT Python library.

The big picture

egobox-ego is a library crate in the top-level package egobox.

Current state

egobox-ego currently implements EGO using egobox-moe with the following features:

  • Mixture of gausian processes
  • Infill criteria: EI, WB2, WB2S
  • Handling of negative constraints: actual constraint functions or surrogates
  • Mixed integer optimization available through continuous relaxation
  • Trust region EGO algorithm

Examples

There is some usage examples in the examples/ directory. To run, use:

cargo run --release --example ackley

License

Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

Dependencies

~19–38MB
~578K SLoC