Giter VIP home page Giter VIP logo

expensiveoptimbenchmark's Introduction

EXPObench: An EXPensive Optimization benchmark library

Extensive documentation is available here

This repository is based on the paper EXPObench: Benchmarking Surrogate-based Optimisation Algorithms on Expensive Black-box Functions. The purpose of this repository is to benchmark different surrogate algorithms on expensive real life optimization problems. It contains different problems, where the goal is to minimize some objective function, and approaches, which solve the minimization problem through the use of surrogate models. The documentation above contains a list of the problems and approaches, as well as instructions for how to add new problems or approaches.

If you make use of EXPObench in your scientific work, please cite us:

@article{bliek2021expobench,
      title={{EXPObench}: Benchmarking Surrogate-based Optimisation Algorithms on Expensive Black-box Functions}, 
      author={Laurens Bliek and Arthur Guijt and Rickard Karlsson and Sicco Verwer and Mathijs de Weerdt},
      year={2021},
      eprint={2106.04618},
      primaryClass={cs.LG},
      journal={arXiv preprint arXiv:2106.04618}
}

This repository requires a working installation of python 3. A quick test to see if everything works is to run the following code. This runs random search (not a surrogate algorithm) on the rosenbrock problem (which is not an expensive optimization problem):

python expensiveoptimbenchmark/run_experiment.py --max-eval=100 rosenbrock --n-cont=10 randomsearch

The required packages for this minimal example are:

  • numpy
  • scipy
  • hyperopt

All these packages can be installed using pip install <package>. Other problems and approaches in this repository may require additional packages.

The results of the minimal working example above will be put in the results folder. For more information, please refer to the documentation.

Docker container

Some of the problems, namely ESP and Pitzdaily, require the use of a Docker container. Information on how to run these problems can be found in the documentation.

Poetry

If the use of Docker or Singularity is not desired, we recommend the use of Poetry to manage the packages that are required for the different problems and approaches.

  • A virtualenv can be created through the use of Poetry, which will automatically incorporate the neccesary dependencies:
    poetry install
    
  • Once finished, you can open a shell in the virtualenv by running
    poetry shell
    
    or run a singular command using
    poetry run python ...
    

Contact information

Besides the regular ways of contact on github, if you have any questions please contact [email protected].

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.