pub struct EpsilonFeasibility { /* private fields */ }Expand description
ε-constrained feasibility — a relaxed version of Deb’s rule that treats solutions with violation ≤ ε as “feasible” for comparison purposes.
The ε threshold is adapted over generations: it starts at a user-specified
epsilon_0 and decreases to 0 following a schedule, gradually tightening
the feasibility criterion.
§References
Takahama, T. & Sakai, S. (2006). Constrained optimization by the ε constrained differential evolution with gradient-based mutation and feasible elites. IEEE CEC 2006.
Implementations§
Source§impl EpsilonFeasibility
impl EpsilonFeasibility
Sourcepub fn new(
epsilon_0: f64,
t_c: usize,
cp: f64,
schedule: EpsilonSchedule,
) -> OptimizeResult<Self>
pub fn new( epsilon_0: f64, t_c: usize, cp: f64, schedule: EpsilonSchedule, ) -> OptimizeResult<Self>
Create a new ε-feasibility handler.
§Arguments
epsilon_0— Initial ε threshold (must be ≥ 0).t_c— Generation at which ε → 0 (must be > 0).cp— Control parameter for the schedule.schedule— Decay schedule.
Sourcepub fn compare(
&self,
f_a: f64,
viol_a: &ViolationSummary,
f_b: f64,
viol_b: &ViolationSummary,
) -> Ordering
pub fn compare( &self, f_a: f64, viol_a: &ViolationSummary, f_b: f64, viol_b: &ViolationSummary, ) -> Ordering
Compare two solutions using the ε-constrained rule.
A solution with violation ≤ ε is treated as “feasible” for this
comparison. The rule is otherwise identical to FeasibilityRule.
Trait Implementations§
Source§impl Clone for EpsilonFeasibility
impl Clone for EpsilonFeasibility
Source§fn clone(&self) -> EpsilonFeasibility
fn clone(&self) -> EpsilonFeasibility
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for EpsilonFeasibility
impl RefUnwindSafe for EpsilonFeasibility
impl Send for EpsilonFeasibility
impl Sync for EpsilonFeasibility
impl Unpin for EpsilonFeasibility
impl UnsafeUnpin for EpsilonFeasibility
impl UnwindSafe for EpsilonFeasibility
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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.