public void Initialize() { IsInitialized = true; ArgumentValidation(); Population.Algorithm = this; Fitness.Algorithm = this; Statistics.Algorithm = this; HyperHeuristic.Algorithm = this; Population.Initialize(); Fitness.Initialize(); Population.Individuals.ForEach(i => i.Fitness = Fitness.Evaluate(i)); Statistics.Initialize(); HyperHeuristic.Initialize(); OnInitialization ??= _ => { }; OnGenerationProgress ??= _ => { }; OnTermination ??= _ => { }; OnInitialization(this); OnGenerationProgress(this); }
public async Task EvolveOneGeneration() => Population.Individuals = await HyperHeuristic.Generate();
public void Update() { Statistics.Update(); HyperHeuristic.Update(); }