MultiObjectiveFunction

Trait MultiObjectiveFunction 

Source
pub trait MultiObjectiveFunction<T: Float> {
    // Required methods
    fn num_objectives(&self) -> usize;
    fn num_variables(&self) -> usize;
    fn evaluate(&self, variables: &[T]) -> Vec<T>;
    fn variable_bounds(&self) -> Vec<(T, T)>;

    // Provided methods
    fn evaluate_constraints(&self, _variables: &[T]) -> Vec<T> { ... }
    fn ideal_point(&self) -> Option<Vec<T>> { ... }
    fn nadir_point(&self) -> Option<Vec<T>> { ... }
}
Expand description

Trait for multi-objective function evaluation

Required Methods§

Source

fn num_objectives(&self) -> usize

Number of objectives

Source

fn num_variables(&self) -> usize

Number of decision variables

Source

fn evaluate(&self, variables: &[T]) -> Vec<T>

Evaluate all objectives for given variables

Source

fn variable_bounds(&self) -> Vec<(T, T)>

Get variable bounds (min, max) for each variable

Provided Methods§

Source

fn evaluate_constraints(&self, _variables: &[T]) -> Vec<T>

Evaluate constraints (return violations, ≤ 0 means feasible)

Source

fn ideal_point(&self) -> Option<Vec<T>>

Get ideal point (best possible values for each objective)

Source

fn nadir_point(&self) -> Option<Vec<T>>

Get nadir point (worst values in current Pareto set)

Implementors§