poli.objective_repository.penalized_logp_lambo.register.PenalizedLogPLamboBlackBox

poli.objective_repository.penalized_logp_lambo.register.PenalizedLogPLamboBlackBox#

class poli.objective_repository.penalized_logp_lambo.register.PenalizedLogPLamboBlackBox(string_representation: Literal['SMILES', 'SELFIES'] = 'SMILES', penalized: bool = True, batch_size: Optional[int] = None, parallelize: bool = False, num_workers: Optional[int] = None, evaluation_budget: int = inf, force_isolation: bool = False)#

A black box objective function that returns the penalized logP of a molecule, using the same function that LaMBO [1] uses.

In particular, they adjust the penalized logP using some “magic numbers”, which are the empirical means and standard deviations of the dataset.

__init__(string_representation: Literal['SMILES', 'SELFIES'] = 'SMILES', penalized: bool = True, batch_size: Optional[int] = None, parallelize: bool = False, num_workers: Optional[int] = None, evaluation_budget: int = inf, force_isolation: bool = False)#

TODO: document

Methods

__init__([string_representation, penalized, ...])

TODO: document

reset_evaluation_budget()

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()

Terminate the black box optimization problem.