pub struct SA<'a, 'b, F, R, FN, const N: usize> where
    F: Float + SampleUniform + Debug,
    StandardNormal: Distribution<F>,
    R: Rng,
    FN: FnMut(&Point<F, N>) -> F, 
{ pub f: FN, pub p_0: &'a Point<F, N>, pub t_0: F, pub t_min: F, pub bounds: &'a Bounds<F, N>, pub apf: &'a APF<F, R>, pub neighbour: &'a NeighbourMethod<F, R, N>, pub schedule: &'a Schedule<F>, pub status: &'a mut Status<'b, F, N>, pub rng: &'a mut R, }
Expand description

Simulated annealing

Fields

f: FN

Objective function

p_0: &'a Point<F, N>

Initial point

t_0: F

Initial temperature

t_min: F

Minimum temperature

bounds: &'a Bounds<F, N>

Bounds of the parameter space

apf: &'a APF<F, R>

Acceptance probability function

neighbour: &'a NeighbourMethod<F, R, N>

Method of getting a random neighbour

schedule: &'a Schedule<F>

Annealing schedule

status: &'a mut Status<'b, F, N>

Status function

rng: &'a mut R

Random number generator

Implementations

Find the global minimum (and the corresponding point) of the objective function

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.