Giter Club home page Giter Club logo

pysot's Introduction

Travis codecov Documentation Status Downloads DOI

pySOT: Python Surrogate Optimization Toolbox

The Python Surrogate Optimization Toolbox (pySOT) is an asynchronous parallel optimization toolbox for computationally expensive global optimization problems. pySOT is built on top of the Plumbing for Optimization with Asynchronous Parallelism (POAP), which is an event-driven framework for building and combining asynchronous optimization strategies. POAP has support for both threads and MPI.

pySOT implements many popular surrogate optimization algorithms such as the Stochastic RBF (SRBF) and DYCORS methods by Regis and Shoemaker, and the SOP method by Krityakierne et. al. We also support Expected Improvement (EI) and Lower Confidence Bounds (LCB), which are popular in Bayesian optimization. All optimization algorithms can be used in serial, synchronous parallel, and asynchronous parallel and we support both continuous and integer variables.

The toolbox is hosted on GitHub: https://github.com/dme65/pySOT

Documentation: http://pysot.readthedocs.io/

Installation

Installation instructions are available at: http://pysot.readthedocs.io/en/latest/quickstart.html

Examples

Several pySOT examples and notebooks can be found at:

https://github.com/dme65/pySOT/tree/master/examples

https://github.com/dme65/pySOT/tree/master/notebooks

Citing Us

If you use pySOT, please cite the following paper: David Eriksson, David Bindel, Christine A. Shoemaker. pySOT and POAP: An event-driven asynchronous framework for surrogate optimization. arXiv preprint arXiv:1908.00420, 2019

@article{eriksson2019pysot,
  title={pySOT and POAP: An event-driven asynchronous framework for surrogate optimization},
  author={Eriksson, David and Bindel, David and Shoemaker, Christine A},
  journal={arXiv preprint arXiv:1908.00420},
  year={2019}
}

FAQ

Q: Can I use pySOT with MPI?
A: Yes. You need to install mpi4py in order to use the MPIController in POAP.

Q: I used pySOT for my research and want to cite it
A: Please cite our preprint which is currently under review!

Q: Is there support for Python 2?
A: Python 2 support was removed in version 0.2.0

Q: I can't find the MARS interpolant
A: You need to install py-earth in order to use MARS. More information is available here: https://github.com/scikit-learn-contrib/py-earth

pysot's People

Contributors

dme65 avatar drkupi avatar dbindel avatar ontahm avatar wy-wang avatar

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.