pub trait SpecializedOptimizer:
Send
+ Sync
+ Debug {
// Required methods
fn name(&self) -> &str;
fn domain(&self) -> OptimizationDomain;
fn initialize(&mut self) -> SklResult<()>;
fn analyze_performance(
&self,
metrics: &PerformanceMetrics,
) -> SklResult<PerformanceAnalysis>;
fn generate_recommendations(
&self,
analysis: &PerformanceAnalysis,
) -> SklResult<Vec<OptimizationRecommendation>>;
fn apply_optimizations(
&mut self,
recommendations: &[OptimizationRecommendation],
) -> Pin<Box<dyn Future<Output = SklResult<OptimizationResult>> + Send + '_>>;
fn get_metrics(&self) -> SklResult<OptimizerMetrics>;
fn update_config(
&mut self,
config: HashMap<String, String>,
) -> SklResult<()>;
}Expand description
Specialized optimizer trait
Required Methods§
Sourcefn domain(&self) -> OptimizationDomain
fn domain(&self) -> OptimizationDomain
Get optimization domain
Sourcefn initialize(&mut self) -> SklResult<()>
fn initialize(&mut self) -> SklResult<()>
Initialize the optimizer
Sourcefn analyze_performance(
&self,
metrics: &PerformanceMetrics,
) -> SklResult<PerformanceAnalysis>
fn analyze_performance( &self, metrics: &PerformanceMetrics, ) -> SklResult<PerformanceAnalysis>
Analyze current performance
Sourcefn generate_recommendations(
&self,
analysis: &PerformanceAnalysis,
) -> SklResult<Vec<OptimizationRecommendation>>
fn generate_recommendations( &self, analysis: &PerformanceAnalysis, ) -> SklResult<Vec<OptimizationRecommendation>>
Generate optimization recommendations
Sourcefn apply_optimizations(
&mut self,
recommendations: &[OptimizationRecommendation],
) -> Pin<Box<dyn Future<Output = SklResult<OptimizationResult>> + Send + '_>>
fn apply_optimizations( &mut self, recommendations: &[OptimizationRecommendation], ) -> Pin<Box<dyn Future<Output = SklResult<OptimizationResult>> + Send + '_>>
Apply optimizations
Sourcefn get_metrics(&self) -> SklResult<OptimizerMetrics>
fn get_metrics(&self) -> SklResult<OptimizerMetrics>
Get optimizer metrics