OptimizerPlugin

Trait OptimizerPlugin 

Source
pub trait OptimizerPlugin: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn version(&self) -> &str;
    fn description(&self) -> &str;
    fn initialize(&mut self, config: &PluginConfig) -> Result<(), PluginError>;
    fn suggest(
        &mut self,
        history: &OptimizationHistory,
        constraints: &ParameterConstraints,
    ) -> Result<HashMap<String, Float>, PluginError>;
    fn observe(
        &mut self,
        parameters: &HashMap<String, Float>,
        objective_value: Float,
        metadata: Option<&HashMap<String, String>>,
    ) -> Result<(), PluginError>;
    fn should_stop(&self, history: &OptimizationHistory) -> bool;
    fn get_statistics(&self) -> Result<HashMap<String, Float>, PluginError>;
    fn shutdown(&mut self) -> Result<(), PluginError>;
    fn as_any(&self) -> &dyn Any;
    fn as_any_mut(&mut self) -> &mut dyn Any;
}
Expand description

Core trait for optimization plugins

Required Methods§

Source

fn name(&self) -> &str

Plugin name (must be unique)

Source

fn version(&self) -> &str

Plugin version

Source

fn description(&self) -> &str

Plugin description

Source

fn initialize(&mut self, config: &PluginConfig) -> Result<(), PluginError>

Initialize the plugin

Source

fn suggest( &mut self, history: &OptimizationHistory, constraints: &ParameterConstraints, ) -> Result<HashMap<String, Float>, PluginError>

Suggest next hyperparameter configuration to evaluate

Source

fn observe( &mut self, parameters: &HashMap<String, Float>, objective_value: Float, metadata: Option<&HashMap<String, String>>, ) -> Result<(), PluginError>

Update plugin state with new observation

Source

fn should_stop(&self, history: &OptimizationHistory) -> bool

Check if optimization should stop

Source

fn get_statistics(&self) -> Result<HashMap<String, Float>, PluginError>

Get plugin-specific statistics

Source

fn shutdown(&mut self) -> Result<(), PluginError>

Clean up resources

Source

fn as_any(&self) -> &dyn Any

Downcast to concrete type (for advanced usage)

Source

fn as_any_mut(&mut self) -> &mut dyn Any

Mutable downcast

Implementors§