Class DecreasingGaussianWalk
- Namespace
- NanoQL.Experimental
- Assembly
- NanoQL.dll
A Gaussian random walk whose step decreases: after each round of the moved fireflies' walks, δ becomes δ²:
QuantLib's DecreasingGaussianWalk.
[Experimental("NQL0001")]
public sealed class DecreasingGaussianWalk : GaussianWalk
- Inheritance
-
DecreasingGaussianWalk
- Inherited Members
Remarks
δ squares at each round's first walk from the second round, so the fireflies of round r walk at δ₀^(2^(r − 1)).
QuantLib's counts its walks and restarts the count at 0 on the call that squares, itself the next round's first
walk, so δ squares once every Mfa + 1 walks, at a drifting place within the round, and with one firefly every second
round (Divergences/FireflyAlgorithmTests.cs). Each minimization starts again from the given δ.
Constructors
DecreasingGaussianWalk(double, double, long)
Initializes a new instance of the DecreasingGaussianWalk class.
public DecreasingGaussianWalk(double sigma, double delta, long seed)
Parameters
sigmadoubleThe radius's standard deviation σ.
deltadoubleThe step's initial scale δ, QuantLib's default 0.9.
seedlongThe seed, in [1, 4294967295].
Exceptions
- ArgumentOutOfRangeException
seedis outside [1, 4294967295].
Methods
Clone()
A copy for a minimization, unbound, its generators at their seeds.
public override FireflyAlgorithmRandomWalk Clone()
Returns
- FireflyAlgorithmRandomWalk
The copy.
Init()
Prepares the walk once it is bound to a population, QuantLib's init; nothing by default.
protected override void Init()
Remarks
The isotropic walk's dimension and ellipsoid set from the problem's bounds.
WalkImpl(Vector)
Draws one firefly's walk.
protected override void WalkImpl(Vector xRW)
Parameters
xRWVectorThe walk, which it sets.
Remarks
The isotropic walk's step, times δ.