https://github.com/mlojek/optilab
Python framework for black-box optimization.
https://github.com/mlojek/optilab
blackbox-optimization cd cec ci cmaes gecco metamodels python surrogate-models
Last synced: 2 months ago
JSON representation
Python framework for black-box optimization.
- Host: GitHub
- URL: https://github.com/mlojek/optilab
- Owner: mlojek
- License: gpl-3.0
- Created: 2024-07-08T13:08:28.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-02-21T16:44:26.000Z (2 months ago)
- Last Synced: 2025-02-21T17:42:37.423Z (2 months ago)
- Topics: blackbox-optimization, cd, cec, ci, cmaes, gecco, metamodels, python, surrogate-models
- Language: Python
- Homepage: https://optilab.readthedocs.io
- Size: 259 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Optilab
[](https://www.gnu.org/licenses/gpl-3.0)

Optilab is a lightweight and flexible python framework for testing black-box optimization.
## Features
- ✅ Intuitive interface to quickly prototype and run optimizers and metamodels.
- 📚 High quality documentation.
- 📈 Objective functions, optimizers, plotting and data handling.
- ⋙ CLI functionality to easily summarize results of previous experiments.
- 🚀 Multiprocessing for faster computation.## How to install
Optilab has been tested to work on python versions 3.11 and above. To install it from PyPI, run:
```
pip install optilab
```
You can also install from source by cloning this repo and running:
```
make install
```## Try the demos
Learn how to use optilab by using our demo notebook. See `demo/tutorial.ipynb`.## CLI tool
Optilab comes with a powerful CLI tool to easily summarize your experiments. It allows for plotting the results and performing statistical testing to check for statistical significance in optimization results.
```
Optilab CLI utility.
usage: python -m optilab [-h] [--hide_plots] [--test_y] [--test_evals] pickle_pathpositional arguments:
pickle_path Path to pickle file or directory with optimization runs.options:
-h, --help show this help message and exit
--hide_plots Hide plots when running the script.
--test_y Perform Mann-Whitney U test on y values.
--test_evals Perform Mann-Whitney U test on eval values.
```## Docker
This project comes with a docker container. You can pull it from dockerhub:
```
docker pull mlojek/optilab
```
Or build it yourself:
```
make docker
```