Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/24/12 09:25:32 (12 years ago)
Author:
mkommend
Message:

#1691: Updated IslandGA, NSGA2 and IslandOSGA to use default operators.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.NSGA2/3.3/NSGA2.cs

    r7351 r7511  
    365365    private void UpdateCrossovers() {
    366366      ICrossover oldCrossover = CrossoverParameter.Value;
     367      ICrossover defaultCrossover = Problem.Operators.OfType<ICrossover>().FirstOrDefault();
    367368      CrossoverParameter.ValidValues.Clear();
    368369      foreach (ICrossover crossover in Problem.Operators.OfType<ICrossover>().OrderBy(x => x.Name))
     
    371372        ICrossover crossover = CrossoverParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldCrossover.GetType());
    372373        if (crossover != null) CrossoverParameter.Value = crossover;
    373       }
     374        else oldCrossover = null;
     375      }
     376      if (oldCrossover == null && defaultCrossover != null)
     377        CrossoverParameter.Value = defaultCrossover;
    374378    }
    375379    private void UpdateMutators() {
Note: See TracChangeset for help on using the changeset viewer.