OptimizationHook

Trait OptimizationHook 

Source
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§

Source

fn on_optimization_start( &mut self, config: &PluginConfig, constraints: &ParameterConstraints, ) -> Result<(), HookError>

Called before optimization starts

Source

fn on_iteration_start( &mut self, iteration: usize, history: &OptimizationHistory, ) -> Result<(), HookError>

Called before each iteration

Source

fn on_evaluation( &mut self, parameters: &HashMap<String, Float>, objective_value: Float, iteration: usize, ) -> Result<(), HookError>

Called after each evaluation

Source

fn on_iteration_end( &mut self, iteration: usize, history: &OptimizationHistory, ) -> Result<(), HookError>

Called after each iteration

Source

fn on_optimization_end( &mut self, history: &OptimizationHistory, reason: StopReason, ) -> Result<(), HookError>

Called when optimization completes

Source

fn on_error(&mut self, error: &dyn Error) -> Result<(), HookError>

Called on optimization error

Implementors§