on_function_eval#

BaseCallback.on_function_eval(project, eval_num: int, params: ndarray, fom_value: float, gradient: ndarray | None = None, **kwargs) None#

Called after each objective function evaluation.

This is called every time the objective function is evaluated, which can be multiple times per iteration for optimizers that perform line searches.

Parameters:
projectProject

The optimization project containing parametrization, FOM, etc.

eval_numint

Function evaluation number (1-indexed).

paramsnp.ndarray

Parameter values for this evaluation.

fom_valuefloat

Figure of merit value achieved.

gradientnp.ndarray, optional

Gradient vector (None for gradient-free optimization).

**kwargs

Additional evaluation-specific information (e.g., elapsed_time, is_best).