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§
Sourcefn objectives(
&self,
variables: &ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>,
) -> Vec<f64>
fn objectives( &self, variables: &ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ) -> Vec<f64>
Multiple objective functions to minimize.
Sourcefn bounds(
&self,
) -> (ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>)
fn bounds( &self, ) -> (ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>)
Lower and upper bounds for each variable.
Sourcefn num_objectives(&self) -> usize
fn num_objectives(&self) -> usize
Number of objectives.