pub struct ContinuousUnivariateModel {
pub means: Vec<f64>,
pub variances: Vec<f64>,
}Expand description
Univariate model for continuous variables
Fields§
§means: Vec<f64>Mean for each dimension
variances: Vec<f64>Variance for each dimension
Implementations§
Source§impl ContinuousUnivariateModel
impl ContinuousUnivariateModel
Sourcepub const MAX_REJECTION_RETRIES: usize = 100
pub const MAX_REJECTION_RETRIES: usize = 100
Maximum number of rejection retries per coordinate before clamping (EV-39).
Sourcepub fn from_bounds(bounds: &MultiBounds) -> Self
pub fn from_bounds(bounds: &MultiBounds) -> Self
Create from bounds (initial uniform-ish distribution)
Sourcepub fn update(&mut self, selected: &[&RealVector], config: &UMDAConfig)
pub fn update(&mut self, selected: &[&RealVector], config: &UMDAConfig)
Update model from selected individuals
Sourcepub fn sample<R: Rng>(&self, bounds: &MultiBounds, rng: &mut R) -> RealVector
pub fn sample<R: Rng>(&self, bounds: &MultiBounds, rng: &mut R) -> RealVector
Sample a new individual from the model.
EV-39: each coordinate is drawn by rejection from the truncated Gaussian —
out-of-bounds draws are retried up to Self::MAX_REJECTION_RETRIES times
before falling back to a clamp. For interior-optimum problems this makes
the boundary “atoms” (probability mass piled on a bound by naive clamping)
vanish, so the accepted samples that feed the next variance estimate are
genuine spread rather than collapsed boundary points.
Trait Implementations§
Source§impl Clone for ContinuousUnivariateModel
impl Clone for ContinuousUnivariateModel
Source§fn clone(&self) -> ContinuousUnivariateModel
fn clone(&self) -> ContinuousUnivariateModel
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 ContinuousUnivariateModel
impl RefUnwindSafe for ContinuousUnivariateModel
impl Send for ContinuousUnivariateModel
impl Sync for ContinuousUnivariateModel
impl Unpin for ContinuousUnivariateModel
impl UnsafeUnpin for ContinuousUnivariateModel
impl UnwindSafe for ContinuousUnivariateModel
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.