pub struct DTLZ1Problem { /* private fields */ }Expand description
Test problem DTLZ1 from K.Deb,L. Thiele,M. Laumanns,and E. Zitzler, “Scalable test problems for evolutionary multi-objective optimization”
Implementations§
Source§impl DTLZ1Problem
impl DTLZ1Problem
Sourcepub fn create(
n_vars: usize,
n_objectives: usize,
invert: bool,
) -> Result<Problem, OError>
pub fn create( n_vars: usize, n_objectives: usize, invert: bool, ) -> Result<Problem, OError>
Create the problem for the optimisation.
§Arguments:
n_vars: The number of variables.n_objectives: The number of objectives.invert: Whether to invert the problem based on Section VIIIA of Jain and Deb (2014)’s paper.
returns: Result<Problem, OError>
Trait Implementations§
Source§impl Debug for DTLZ1Problem
impl Debug for DTLZ1Problem
Source§impl Evaluator for DTLZ1Problem
impl Evaluator for DTLZ1Problem
Source§fn evaluate(&self, ind: &Individual) -> Result<EvaluationResult, Box<dyn Error>>
fn evaluate(&self, ind: &Individual) -> Result<EvaluationResult, Box<dyn Error>>
A custom-defined function to use to assess the constraint and objective. When a new
offspring is generated via crossover and mutation, new variables (or solutions) are
assigned to it and the problem constraints and objective need to be evaluated. This
function must return all the values for all the objectives and constraints set on
the problem. An algorithm will return an error if the function fails to do so. Read more
Auto Trait Implementations§
impl Freeze for DTLZ1Problem
impl RefUnwindSafe for DTLZ1Problem
impl Send for DTLZ1Problem
impl Sync for DTLZ1Problem
impl Unpin for DTLZ1Problem
impl UnwindSafe for DTLZ1Problem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.