Skip to main content

MultiObjectiveOptimizer

Trait MultiObjectiveOptimizer 

Source
pub trait MultiObjectiveOptimizer<T: Float + Debug + Send + Sync + 'static>: Send + Sync {
    // Required methods
    fn update_pareto_front(
        &mut self,
        results: &[SearchResult<T>],
    ) -> Result<ParetoFront<T>>;
    fn select_candidates(
        &self,
        candidates: &[SearchResult<T>],
        population_size: usize,
    ) -> Result<Vec<SearchResult<T>>>;
    fn calculate_diversity(&self, population: &[SearchResult<T>]) -> f64;
}
Expand description

Multi-objective optimization trait

Required Methods§

Source

fn update_pareto_front( &mut self, results: &[SearchResult<T>], ) -> Result<ParetoFront<T>>

Update Pareto front with new results

Source

fn select_candidates( &self, candidates: &[SearchResult<T>], population_size: usize, ) -> Result<Vec<SearchResult<T>>>

Select next generation candidates

Source

fn calculate_diversity(&self, population: &[SearchResult<T>]) -> f64

Calculate diversity metrics

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§