simulated_annealing
library
Classes
-
DataLog<T extends Object>
-
A storage that can be used to log data of type
T
.
Each log record is accessed using a unique String key.
-
EnergyField
-
Class representing the system
energy
and
the domain over which it is defined (the search space).
-
FixedInterval
-
A fixed numerical interval defined by
the start point
start
and the end point end
.
-
Interval
-
Abstract class representing a numerical interval.
-
InverseCdfs
-
-
LoggingSimulator
-
Annealing simulator capable of logging variables via an object of
type DataLog.
-
ParametricInterval
-
A numerical interval defined by
the parametric start point function
startFunc
and the end
point endFunc
.
-
PeriodicInterval
-
An interval that wraps around itself.
-
SearchSpace
-
A search space defined by several by a list of Intervals.
-
Simulator
-
Annealing simulator
-
SingularInterval
-
A fixed numerical interval where the start point
coincides with the end point.
Functions
-
defaultPerturbationSequence(List<num> temperatures, List<num> deltaPositionMax, List<num> deltaPositionMin)
→ List<List<num>>
-
Returns a sequence of perturbation magnitude vectors by
interpolating between
deltPositionMax
and deltaPositionMin
.
-
exponentialSequence(num tStart, num tEnd, {int iterations = 1000})
→ List<num>
-
Exponentially decreasing sequence with start value
tStart
and
end value tEnd
.
-
geometricSequence(num tStart, num tEnd, {int iterations = 1000})
→ List<num>
-
Returns a geometric sequence with
entries:
-
interpolate<T extends num>(List<num> temperatures, List<T> start, List<T> end)
→ List<List<T>>
-
Returns a sequence of vectors
by interpolating between
start
and end
.
-
linearSequence(num tStart, num tEnd, {int iterations = 1000})
→ List<num>
-
Linear temperature sequence with entries:
-
lundySequence(num tStart, num tEnd, {int iterations = 1000})
→ List<num>
-
Returns the sequence:
tStart, tStart / (1 + beta * tStart),
..., tStart / (1 * (n-1) * beta * tStart)
where beta = (1 / tEnd - 1 / tStart) / (n - 1)
.
-
markovChainLength(num temperature, {required num tStart, required num tEnd, int chainLengthStart = 5, int chainLengthEnd = 20})
→ int
-
Returns an integer linearly interpolated
between
chainLengthStart
and chainLengthEnd
.
-
normalSequence(num tStart, num tEnd, {int iterations = 1000})
→ List<num>
-
Returns a monotonically decreasing sequence with
entries:
tStart, ..., tEnd
.
Typedefs
-
Energy
= num Function(List<num> x)
-
Function representing the system energy (cost function).
-
FunctionalInverseCdf
= num Function(num p, num start, num end, {required ProbabilityScale scale})
-
A generalized inverse cummulative distribution function,
where the probability is scaled by a function of typedef ProbabilityScale.
-
InverseCdf
= num Function(num p, num start, num end)
-
Inverse cummulative distribution function of a probability distribution
function with non-zero support over the interval:
[start, end)
.
The function must return a numerical value in the interval: [start, end)
.
-
MarkovChainLength
= int Function(num temperature)
-
Function returning an integer representing a Markov
chain length (the number of simulated annealing iterations
performed at constant temperature).
-
Next
= num Function()
-
-
ParametricPoint
= num Function()
-
Function defining an interval start/end point.
-
Perturb
= num Function(num position, num deltaPosition)
-
-
PerturbationSequence
= List<List<num>> Function(List<num> temperatures, List<num> deltaPositionMax, List<num> deltaPositionMin)
-
Function returning a sequence of pertubation
magnitude vectors.
-
ProbabilityScale
= num Function(num p)
-
A function that scales a probability ( a value between 0 and 1)
such that the returned
value
is also a probability:
-
TemperatureSequence
= List<num> Function(num tStart, num tEnd, {int iterations})
-