pub struct OneFifthRule {
pub increase_factor: f64,
pub decrease_factor: f64,
pub window_size: usize,
pub target_success_rate: f64,
/* private fields */
}Expand description
Rechenberg’s 1/5 success rule for step-size adaptation
If the success rate is above 1/5, increase step size (more exploration) If the success rate is below 1/5, decrease step size (more exploitation)
Reference: Rechenberg, I. (1973). Evolutionsstrategie.
Fields§
§increase_factor: f64Factor to increase step size (typically 1.22 ≈ e^(1/5))
decrease_factor: f64Factor to decrease step size (typically 0.82 ≈ e^(-1/5))
window_size: usizeWindow size for computing success rate
target_success_rate: f64Target success rate (default: 0.2)
Implementations§
Source§impl OneFifthRule
impl OneFifthRule
Sourcepub fn with_factors(self, increase: f64, decrease: f64) -> Self
pub fn with_factors(self, increase: f64, decrease: f64) -> Self
Set custom factors
Sourcepub fn with_window_size(self, size: usize) -> Self
pub fn with_window_size(self, size: usize) -> Self
Set window size
Sourcepub fn with_target_rate(self, rate: f64) -> Self
pub fn with_target_rate(self, rate: f64) -> Self
Set target success rate
Sourcepub fn success_rate(&self) -> Option<f64>
pub fn success_rate(&self) -> Option<f64>
Get current success rate
Trait Implementations§
Source§impl Clone for OneFifthRule
impl Clone for OneFifthRule
Source§fn clone(&self) -> OneFifthRule
fn clone(&self) -> OneFifthRule
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OneFifthRule
impl Debug for OneFifthRule
Auto Trait Implementations§
impl Freeze for OneFifthRule
impl RefUnwindSafe for OneFifthRule
impl Send for OneFifthRule
impl Sync for OneFifthRule
impl Unpin for OneFifthRule
impl UnsafeUnpin for OneFifthRule
impl UnwindSafe for OneFifthRule
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> 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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§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 more§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).§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.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.