/// <summary> /// Resets this instance. /// </summary> public virtual void Reset() { ImprovisationCount = 0; ImprovisationCountWithTheSameBestValue = 0; BestHarmonyObjectiveValue = double.PositiveInfinity; HarmonyMemory.Clear(); }
/// <summary> /// Merges solutions from Harmony Memory and generated by Ant Colony optimization /// </summary> /// <param name="antColonySolutions">Ant colony solutions</param> private void MergeHarmonyMemoryWithAntSolutions(IEnumerable <Harmony <T> > antColonySolutions) { var allHarmonies = HarmonyMemory.GetAll() .Concat(antColonySolutions) .OrderBy(h => h.ObjectiveValue) .ToList(); HarmonyMemory.Clear(); HarmonyMemory.AddRange(allHarmonies); }