Gryffin: Bayesian Optimization of Continuous and Categorical Variables

https://github.com/aspuru-guzik-group/gryffin/actions/workflows/continuous-integration.yml/badge.svg https://codecov.io/gh/aspuru-guzik-group/gryffin/branch/master/graph/badge.svg?token=pHQ8Z50qf8

Welcome to Gryffin!

Designing functional molecules and advanced materials requires complex design choices: tuning continuous process parameters such as temperatures or flow rates, while simultaneously selecting catalysts or solvents.

To date, the development of data-driven experiment planning strategies for autonomous experimentation has largely focused on continuous process parameters despite the urge to devise efficient strategies for the selection of categorical variables. Here, we introduce Gryffin, a general purpose optimization framework for the autonomous selection of categorical variables driven by expert knowledge.

Features

  • Gryffin extends the ideas of the Phoenics optimizer to categorical variables. Phoenics is a linear-scaling Bayesian optimizer for continuous spaces which uses a kernel regression surrogate. Gryffin extends this approach to categorical and mixed continuous-categorical spaces.

  • Gryffin is linear-scaling appraoch to Bayesian optimization, whose acquisition function natively supports batched optimization. Gryffin’s acquisition function uses an intuitive sampling parameter to bias its behaviour between exploitation and exploration.

  • Gryffin is capable of leveraging expert knowledge in the form of physicochemical descriptors to enhance its optimization performance (static formulation). Also, Gryffin can refine the provided descriptors to further accelerate the optimization (dynamic formulation) and foster scientific understanding.

Use cases of Gryffin/Phoenics

License

Gryffin is distributed under an Apache Licence 2.0.

Indices and tables