SimulatedAnnealing<T> constructor

SimulatedAnnealing<T>({
  1. required T initial,
  2. required double energy(
    1. T
    ),
  3. required T neighbor(
    1. T,
    2. Random
    ),
  4. required double temperature(
    1. int
    ),
  5. int? seed,
})

Implementation

SimulatedAnnealing({
  required this.initial,
  required this.energy,
  required this.neighbor,
  required this.temperature,
  int? seed,
}) : _rand = seed != null ? Random(seed) : Random() {
  if (temperature(0) <= 0) {
    throw ArgumentError('temperature must be positive for step=0');
  }
}