Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
ALF documentation
ALF documentation

Documentation

  • Explanation
    • Why ALF?
    • Intro to Active Learning
    • Core Concepts
  • Tutorials
  • How-to / Recipes
    • Add your own model
    • Add a dataset
    • Add an acquisition function
    • Add a search function
    • Switch offline to online
    • Run with Docker
  • Reference
    • Glossary
  • ALF Installation Guide

API Reference

  • Core
    • Dataclasses
      • Candidate
      • Labelled Candidates
      • Predictions
      • Results
      • Round Metrics
      • State
      • Surrogate Epoch Metrics
    • Dataset
      • Base Dataset
      • Splitting Utils
    • Model
      • Base Model
      • Normalisers
    • Optimizer
      • Optimizer
      • Acquisition Function
      • Search
    • Oracle
    • Surrogate
    • Tasks
      • Base Task
      • Design Task
      • Supervised Task
      • Zero-Shot Task
    • Utils
      • Enums
      • Metrics
        • Acquisition Batch
        • Base
        • Calibration
        • Classification
        • Design Task Metrics
        • Regression
      • State Logger
  • Tools
    • Datasets
      • GFP Dataset
      • ProteinGym Dataset
      • FLIP Dataset
      • GuacaMol Dataset
    • Models
      • CNN Model
      • MLP Model
      • ESMFold Model
      • GP Model
      • ESM2 Model
      • Chemprop Model
      • MLIP Model
      • PyRosetta Model
      • Ensemble Wrapper
      • Utilities
    • Optimizer
      • Acquisition Functions
        • BoTorch Acquisition Wrapper
        • BoTorch MC Samplers
        • CoreSet
        • Expected Improvement
        • Greedy
        • Thompson Sampling
        • Upper Confidence Bound (UCB)
      • Search Strategies
        • Botorch Continuous Search
        • Single Mutant Search
    • Utils
      • Constants
Back to top
View this page

Botorch Continuous Search¶

BotorchContinuousSearch is a search function for continuous optimisation with BoTorch. It returns an empty candidate list, which signals BoTorchAcquisition to generate candidates by optimising the acquisition function directly in continuous space (via optimize_acqf) rather than scoring a discrete pool.

Use it with continuous search spaces where gradient-based candidate generation is desired; the acquisition function must be constructed with bounds.

Search functions for BoTorch-based continuous optimization.

This module provides search functions designed to work with BoTorch acquisition functions that can directly optimize candidates in continuous spaces.

class alf_tools.optimizer.search.botorch_continuous_search.BotorchContinuousSearch[source]¶

Bases: BaseSearch

Search function for continuous optimization with BoTorch.

This search function returns an empty list of candidates, signaling to BoTorch acquisition functions that they should perform continuous optimization (via optimize_acqf) rather than scoring a discrete pool.

This is typically used with: - BoTorchSyntheticDataset (continuous test functions) - Any continuous search space where gradient-based optimization is desired

Example

>>> from alf_tools.optimizer.search import BotorchContinuousSearch
>>> from alf_tools.optimizer.acquisition_functions import BoTorchAcquisition
>>> from alf_core import Optimizer
>>>
>>> optimizer = Optimizer(
...     acquisition_fn=BoTorchAcquisition(
...         acquisition_type="qEI",
...         bounds=[[0, 1], [0, 1]]
...     ),
...     search_fn=BotorchContinuousSearch()
... )
get_metrics(task_state)[source]¶

Return empty metrics dict.

Parameters:

task_state (State) – Current task state.

Return type:

dict[str, float]

Returns:

Empty dictionary (no search-specific metrics for continuous optimization).

Next
Single Mutant Search
Previous
Search Strategies
Copyright © 2026, InstaDeep
Made with Sphinx and @pradyunsg's Furo
On this page
  • Botorch Continuous Search
    • BotorchContinuousSearch
      • BotorchContinuousSearch.get_metrics