pub enum Scalarization {
WeightedSum,
Tchebycheff,
PenaltyBoundaryIntersection,
AchievementScalarizing,
}Expand description
Scalarization used to reduce a subproblem’s objective vector to a single
comparable cost. Mirrors super::moead::DecompositionMethod; kept separate
so this module has no dependency on the optimizer that configures it.
Variants§
WeightedSum
sum_i w_i * (f_i - z*_i).
Tchebycheff
max_i w_i * |f_i - z*_i|.
PenaltyBoundaryIntersection
d1 + theta * d2 along and perpendicular to the weight direction.
AchievementScalarizing
max_i (f_i - z*_i) / w_i.
Trait Implementations§
Source§impl Clone for Scalarization
impl Clone for Scalarization
impl Copy for Scalarization
Source§impl Debug for Scalarization
impl Debug for Scalarization
impl Eq for Scalarization
Source§impl PartialEq for Scalarization
impl PartialEq for Scalarization
impl StructuralPartialEq for Scalarization
Auto Trait Implementations§
impl Freeze for Scalarization
impl RefUnwindSafe for Scalarization
impl Send for Scalarization
impl Sync for Scalarization
impl Unpin for Scalarization
impl UnsafeUnpin for Scalarization
impl UnwindSafe for Scalarization
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more