Skip to content

Phoenics

Phoenics combines Bayesian optimization with Bayesian kernel density estimation to recommend experimental or computational parameters, supporting sequential, batch and multi-objective workflows.

Catalog updated ·

Overview

Phoenics is an optimization algorithm for objectives that are costly to evaluate, including physical experiments and demanding computations. It combines ideas from Bayesian optimization and Bayesian kernel density estimation to propose parameter points for global optimization. Its role is to recommend what to evaluate next; the experiment or computation supplies the resulting objective values. The README documents sequential and parallelizable batch workflows, with separate examples for periodic parameters and multiple objectives.

The documented Python interface creates a Phoenics instance from a configuration file and passes prior observations to phoenics.choose(observations = observations). The output is a set of suggested parameters. After those parameters have been evaluated externally, the resulting observations can be supplied in another recommendation cycle. This makes Phoenics a candidate component for iterative experimental planning rather than a complete laboratory execution system. The supplied excerpt does not specify the full configuration or observation schema, so implementation should begin with the linked examples.

For multiple objectives, Phoenics automatically uses Chimera when the configuration defines more than one objective. Chimera converts objective values into a single scalar value using an importance hierarchy and relative tolerances for acceptable degradation. It is also offered as a standalone wrapper for other single-objective optimizers. The README lists PyMC3 and Edward as alternative probabilistic-modeling libraries and reports testing with Python 3.6 and specific historical dependencies. It also marks the repository as under construction; the excerpts do not establish current environment compatibility or provide quantitative performance results.

Key Features

  • Combines Bayesian optimization with Bayesian kernel density estimation for global optimization of expensive-to-evaluate objectives.
  • Recommends new parameter points from prior observations through the documented `phoenics.choose(observations = observations)` interface.
  • Supports sequential optimization and parallelizable batch optimization, with dedicated examples for each.
  • Documents periodic parameter support through a dedicated optimization example.
  • Automatically applies Chimera for configurations containing multiple objectives, using objective priorities and relative tolerances.
  • Provides Chimera separately as a wrapper that converts multiple objective values into a scalar objective for other optimization methods.

Use Cases

  • Intended evaluation: use the sequential example to assess an iterative chemistry experiment-planning loop in which measured results inform the next parameter recommendation.
  • Intended evaluation: assess batch recommendations for expensive computations or experiments that can be evaluated in parallel.
  • Intended evaluation: explore multi-objective experimental planning with an explicit priority hierarchy and acceptable degradation tolerances using Chimera.
  • Intended evaluation: study the documented virtual-robot auto-calibration example as a starting point for a calibration workflow.

How to Use

  1. Read the official README to understand the recommendation loop, installation options and listed dependencies. Treat its reported Python 3.6 testing as historical evidence, not confirmation of current compatibility.
  2. Choose the sequential example or batch example to inspect the configuration and observation representation before preparing your own inputs.
  3. Follow the documented setup route, then create a Phoenics instance from a configuration file. Supply prior observations to phoenics.choose(observations = observations) to request suggested parameter points.
  4. Evaluate those points through your experiment or computation, record the objective values, and feed the new observations back into the next recommendation cycle. Initially assess this workflow on a controlled example.
  5. For multiple objectives, consult the multi-objective example and define priorities and tolerances. Consult the periodic-parameter example if your parameters require periodic treatment.

Related resources

BayBE

Open Source

BayBE is a Python toolbox for Bayesian experimental design that recommends parameter configurations from defined search spaces, objectives and measurements, including chemistry-aware and multi-target workflows.

Open sourcePython

Lab Automation · Process Optimization

BoFire

Open Source

BoFire is a Python framework for experimental design and Bayesian optimization, supporting mixed variables, constraints, molecular representations and iterative candidate selection.

Open sourcePython

Lab Automation · Process Optimization

Gryffin

Open Source

Gryffin is a Python Bayesian optimization framework for categorical and mixed experimental design spaces, with batch recommendations and physicochemical descriptor support.

Open sourcePython

Lab Automation · Process Optimization

Olympus

Open Source

Olympus is a Python framework for benchmarking noisy optimization and experiment planning, with mixed parameter domains, experimental benchmarks, analytical test functions and a shared planner interface.

Open sourcePython

Lab Automation · Process Optimization

Summit

Open Source

Summit is a Python toolkit for chemical reaction optimisation, combining optimisation strategies, simulated reaction benchmarks and closed-loop workflows for evaluating experimental conditions.

Open sourcePython

Lab Automation · Process Optimization

Benchling MCP (longevity-genie) is a Python MCP server that connects AI clients to Benchling notebook entries, biological sequences, projects, and entity search using API credentials.

Open sourcePython

Lab Automation · Scientific Data

Related guides

Skills

AI Skills for Chemistry: What They Are and How They Work

Understand chemistry AI Skills as reusable procedure modules: what SKILL.md contains, how hosts load instructions, how Skills differ from MCP and agents, and how to select, combine, and evaluate them without confusing guidance with scientific validation.

Workflows

AI for Computational Chemistry Workflows

Build evidence-aware computational chemistry workflows with AI Skills for structure preparation, phonons, gas-phase ignition, CALPHAD equilibrium, and reactive-MD analysis—while keeping real inputs, execution dependencies, and scientific validation explicit.