poli.core.abstract_black_box.AbstractBlackBox#
- class poli.core.abstract_black_box.AbstractBlackBox(batch_size: Optional[int] = None, parallelize: bool = False, num_workers: Optional[int] = None, evaluation_budget: int = inf, force_isolation: bool = False)#
Abstract base class for a black box optimization problem.
- Parameters
batch_size (int, optional) – The batch size for evaluating the black box function. Default is None.
parallelize (bool, optional) – Flag indicating whether to evaluate the black box function in parallel. Default is False.
num_workers (int, optional) – The number of workers to use for parallel evaluation. Default is None, which uses half of the available CPU cores.
evaluation_budget (int, optional) – The maximum number of evaluations allowed for the black box function. Default is float(“inf”).
- observer#
The observer object for recording observations during evaluation.
- Type
AbstractObserver or None
- observer_info#
The information given by the observer after initialization.
- Type
object or None
- parallelize#
Flag indicating whether to evaluate the black box function in parallel.
- Type
bool
- num_workers#
The number of workers to use for parallel evaluation.
- Type
int
- batch_size#
The batch size for evaluating the black box function.
- Type
int or None
- set_observer(observer)#
Set the observer object for recording observations during evaluation.
- reset_evaluation_budget()#
Reset the evaluation budget by setting the number of evaluations made to 0.
- __call__(x, context=None)#
Evaluate the black box function for the given input.
- _black_box(x, context=None)#
Abstract method for evaluating the black box function.
- terminate()#
Terminate the black box optimization problem.
- __enter__()#
Enter the context manager.
- __exit__(exc_type, exc_val, exc_tb)#
Exit the context manager.
- __del__()#
Destructor for the black box optimization problem.
- __neg__()#
Create a new black box with the objective function as the negative of the original one.
- __init__(batch_size: Optional[int] = None, parallelize: bool = False, num_workers: Optional[int] = None, evaluation_budget: int = inf, force_isolation: bool = False)#
Initialize the AbstractBlackBox object.
- Parameters
batch_size (int, optional) – The batch size for parallel execution, by default None.
parallelize (bool, optional) – Flag indicating whether to parallelize the execution, by default False.
num_workers (int, optional) – The number of workers for parallel execution, by default we use half the available CPUs.
evaluation_budget (int, optional) – The maximum number of evaluations allowed for the black box function, by default float(“inf”).
Methods
__init__
([batch_size, parallelize, ...])Initialize the AbstractBlackBox object.
Resets the evaluation budget by setting the number of evaluations made to 0.
set_observer
(observer)Set the observer object for recording observations during evaluation.
Terminate the black box optimization problem.