Algorithm 1025: PARyOpt: A Software for Parallel Asynchronous Remote Bayesian Optimization

Balaji Sesha Sarath Pokuri, Alec Lofquist, Chad Risko, Baskar Ganapathysubramanian

Research output: Contribution to journalArticlepeer-review

Abstract

PARyOpt is a Python based implementation of the Bayesian optimization routine designed for remote and asynchronous function evaluations. Bayesian optimization is especially attractive for computational optimization due to its low cost function footprint as well as the ability to account for uncertainties in data. A key challenge to efficiently deploy any optimization strategy on distributed computing systems is the synchronization step, where data from multiple function calls is assimilated to identify the next campaign of function calls. Bayesian optimization provides an elegant approach to overcome this issue via asynchronous updates. We formulate, develop and implement a parallel, asynchronous variant of Bayesian optimization. The framework is robust and resilient to external failures. We show how such asynchronous evaluations help reduce the total optimization wall clock time for a suite of test problems. Additionally, we show how the software design of the framework allows easy extension to response surface reconstruction (Kriging), providing a high performance software for autonomous exploration. The software is available on PyPI, with examples and documentation.

Original languageEnglish
Article number24
JournalACM Transactions on Mathematical Software
Volume48
Issue number2
DOIs
StatePublished - Jun 2022

Bibliographical note

Publisher Copyright:
© 2022 held by the owner/author(s).

Keywords

  • Bayesian optimization
  • parallel optimization
  • python software
  • remote evaluation

ASJC Scopus subject areas

  • Software
  • Applied Mathematics

Fingerprint

Dive into the research topics of 'Algorithm 1025: PARyOpt: A Software for Parallel Asynchronous Remote Bayesian Optimization'. Together they form a unique fingerprint.

Cite this