Skip to main content

MultiObjectiveProblem

Trait MultiObjectiveProblem 

Source
pub trait MultiObjectiveProblem: Send + Sync {
    // Required methods
    fn objectives(
        &self,
        variables: &ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>,
    ) -> Vec<f64>;
    fn dim(&self) -> usize;
    fn bounds(
        &self,
    ) -> (ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>);
    fn num_objectives(&self) -> usize;

    // Provided method
    fn penalties(
        &self,
        _variables: &ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>,
    ) -> Vec<f64> { ... }
}
Expand description

Defines a multi-objective optimization problem.

Required Methods§

Source

fn objectives( &self, variables: &ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ) -> Vec<f64>

Multiple objective functions to minimize.

Source

fn dim(&self) -> usize

Number of variables.

Source

fn bounds( &self, ) -> (ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>)

Lower and upper bounds for each variable.

Source

fn num_objectives(&self) -> usize

Number of objectives.

Provided Methods§

Source

fn penalties( &self, _variables: &ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ) -> Vec<f64>

Optional constraints. Returns a vector of penalties.

Implementors§