pysot

Surrogate Optimization Toolbox for Python

https://github.com/dme65/pysot

Science Score: 20.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Committers with academic emails
    2 of 6 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.2%) to scientific vocabulary

Keywords

asynchronous bayesian-optimization black-box-optimization gaussian-processes global-optimization global-optimization-algorithms optimization radial-basis-function surrogate-based-optimization surrogate-models
Last synced: 6 months ago · JSON representation

Repository

Surrogate Optimization Toolbox for Python

Basic Info
  • Host: GitHub
  • Owner: dme65
  • License: other
  • Language: Jupyter Notebook
  • Default Branch: master
  • Size: 8.28 MB
Statistics
  • Stars: 212
  • Watchers: 22
  • Forks: 53
  • Open Issues: 13
  • Releases: 0
Topics
asynchronous bayesian-optimization black-box-optimization gaussian-processes global-optimization global-optimization-algorithms optimization radial-basis-function surrogate-based-optimization surrogate-models
Created over 10 years ago · Last pushed over 4 years ago
Metadata Files
Readme Changelog License

README.rst

|Travis| |codecov| |ReadTheDocs| |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`_

.. code-block:: html

  @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
|

.. _`David Eriksson, David Bindel, Christine A. Shoemaker. pySOT and POAP: An event-driven asynchronous framework for surrogate optimization. arXiv preprint arXiv:1908.00420, 2019`: https://arxiv.org/abs/1908.00420
.. _preprint: https://arxiv.org/abs/1908.00420
.. |Travis| image:: https://travis-ci.org/dme65/pySOT.svg?branch=master
   :target: https://travis-ci.org/dme65/pySOT
.. |ReadTheDocs| image:: https://readthedocs.org/projects/pysot/badge/?version=latest
    :target: http://pysot.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status
.. |DOI| image:: https://zenodo.org/badge/36836292.svg
   :target: https://zenodo.org/badge/latestdoi/36836292
.. |codecov| image:: https://codecov.io/gh/dme65/pySOT/branch/dme/graph/badge.svg
   :target: https://codecov.io/gh/dme65/pySOT
.. |Downloads| image:: https://pepy.tech/badge/pysot
   :target: https://pepy.tech/project/pySOT

Owner

  • Name: David Eriksson
  • Login: dme65
  • Kind: user
  • Location: Boulder, CO
  • Company: @Facebook

Research Scientist at Meta

GitHub Events

Total
  • Issues event: 2
  • Watch event: 8
  • Issue comment event: 1
Last Year
  • Issues event: 2
  • Watch event: 8
  • Issue comment event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 306
  • Total Committers: 6
  • Avg Commits per committer: 51.0
  • Development Distribution Score (DDS): 0.229
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
dme65 d****5@c****u 236
David Eriksson e****n@u****m 43
Taimoor Akhtar t****r@g****m 18
David Bindel b****l@c****u 7
WayneW w****8@g****m 1
Ontahm O****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 41
  • Total pull requests: 10
  • Average time to close issues: 4 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 20
  • Total pull request authors: 6
  • Average comments per issue: 2.41
  • Average comments per pull request: 1.7
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ilija139 (11)
  • dme65 (6)
  • sjohnson-FLL (4)
  • rho80 (2)
  • the-alleged-car (2)
  • fabrang (2)
  • camposgvk (1)
  • vvmikheev (1)
  • BillyTheKidPhysicist (1)
  • ZhiqiangD (1)
  • abhishek-ghose (1)
  • SanPen (1)
  • nguyenhoaiThanhbk2811 (1)
  • pvh1983 (1)
  • minhhg (1)
Pull Request Authors
  • Ontahm (3)
  • dme65 (3)
  • WY-Wang (1)
  • evayang234 (1)
  • drkupi (1)
  • JustAnOrdinaryUsername (1)
Top Labels
Issue Labels
enhancement (7) bug (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 1,482 last-month
  • Total docker downloads: 7
  • Total dependent packages: 3
    (may contain duplicates)
  • Total dependent repositories: 8
    (may contain duplicates)
  • Total versions: 50
  • Total maintainers: 1
pypi.org: pysot

Surrogate Optimization Toolbox

  • Versions: 45
  • Dependent Packages: 3
  • Dependent Repositories: 8
  • Downloads: 1,482 Last month
  • Docker Downloads: 7
Rankings
Dependent packages count: 2.3%
Docker downloads count: 4.2%
Average: 4.8%
Stargazers count: 5.0%
Dependent repos count: 5.2%
Forks count: 5.8%
Downloads: 6.4%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: pysot

pySOT is an asynchronous parallel optimization toolbox for global deterministic optimization problems. The main purpose of the toolbox is for optimization of computationally expensive black-box objective functions with continuous and/or integer variables where the number of evaluations is limited. If there are several processors available it may make sense to evaluate the objective function using either asynchronous or synchronous parallel. pySOT uses the event-driven framework for asynchronous optimization strategies POAP (https://github.com/dbindel/POAP) to provide this functionality.

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 24.0%
Stargazers count: 24.8%
Average: 33.5%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • py-earth-0.1.0 *
  • scikit-learn *
  • six *
  • sphinx >=1.4.7
setup.py pypi
  • scipy *