pub trait OptimizationHook: Send + Sync {
// Required methods
fn on_optimization_start(
&mut self,
config: &PluginConfig,
constraints: &ParameterConstraints,
) -> Result<(), HookError>;
fn on_iteration_start(
&mut self,
iteration: usize,
history: &OptimizationHistory,
) -> Result<(), HookError>;
fn on_evaluation(
&mut self,
parameters: &HashMap<String, Float>,
objective_value: Float,
iteration: usize,
) -> Result<(), HookError>;
fn on_iteration_end(
&mut self,
iteration: usize,
history: &OptimizationHistory,
) -> Result<(), HookError>;
fn on_optimization_end(
&mut self,
history: &OptimizationHistory,
reason: StopReason,
) -> Result<(), HookError>;
fn on_error(&mut self, error: &dyn Error) -> Result<(), HookError>;
}Expand description
Optimization hook trait for callbacks
Required Methods§
Sourcefn on_optimization_start(
&mut self,
config: &PluginConfig,
constraints: &ParameterConstraints,
) -> Result<(), HookError>
fn on_optimization_start( &mut self, config: &PluginConfig, constraints: &ParameterConstraints, ) -> Result<(), HookError>
Called before optimization starts
Sourcefn on_iteration_start(
&mut self,
iteration: usize,
history: &OptimizationHistory,
) -> Result<(), HookError>
fn on_iteration_start( &mut self, iteration: usize, history: &OptimizationHistory, ) -> Result<(), HookError>
Called before each iteration
Sourcefn on_evaluation(
&mut self,
parameters: &HashMap<String, Float>,
objective_value: Float,
iteration: usize,
) -> Result<(), HookError>
fn on_evaluation( &mut self, parameters: &HashMap<String, Float>, objective_value: Float, iteration: usize, ) -> Result<(), HookError>
Called after each evaluation
Sourcefn on_iteration_end(
&mut self,
iteration: usize,
history: &OptimizationHistory,
) -> Result<(), HookError>
fn on_iteration_end( &mut self, iteration: usize, history: &OptimizationHistory, ) -> Result<(), HookError>
Called after each iteration
Sourcefn on_optimization_end(
&mut self,
history: &OptimizationHistory,
reason: StopReason,
) -> Result<(), HookError>
fn on_optimization_end( &mut self, history: &OptimizationHistory, reason: StopReason, ) -> Result<(), HookError>
Called when optimization completes