- Timestamp:
- 04/12/10 01:29:35 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs
r3280 r3303 283 283 private void InitializeSelectors() { 284 284 selectors = new List<ISelector>(); 285 if (ApplicationManager.Manager != null)selectors.AddRange(ApplicationManager.Manager.GetInstances<ISelector>().Where(x => !(x is IMultiObjectiveSelector)).OrderBy(x => x.Name));285 selectors.AddRange(ApplicationManager.Manager.GetInstances<ISelector>().Where(x => !(x is IMultiObjectiveSelector)).OrderBy(x => x.Name)); 286 286 ParameterizeSelectors(); 287 287 } … … 300 300 } 301 301 private void UpdateSelectors() { 302 if (ApplicationManager.Manager != null) { 303 ISelector oldSelector = SelectorParameter.Value; 304 SelectorParameter.ValidValues.Clear(); 305 foreach (ISelector selector in Selectors.OrderBy(x => x.Name)) 306 SelectorParameter.ValidValues.Add(selector); 307 if (oldSelector != null) { 308 ISelector selector = SelectorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldSelector.GetType()); 309 if (selector != null) SelectorParameter.Value = selector; 310 } 302 ISelector oldSelector = SelectorParameter.Value; 303 SelectorParameter.ValidValues.Clear(); 304 foreach (ISelector selector in Selectors.OrderBy(x => x.Name)) 305 SelectorParameter.ValidValues.Add(selector); 306 if (oldSelector != null) { 307 ISelector selector = SelectorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldSelector.GetType()); 308 if (selector != null) SelectorParameter.Value = selector; 311 309 } 312 310 } 313 311 private void UpdateCrossovers() { 314 if (ApplicationManager.Manager != null) { 315 ICrossover oldCrossover = CrossoverParameter.Value; 316 CrossoverParameter.ValidValues.Clear(); 317 foreach (ICrossover crossover in Problem.Operators.OfType<ICrossover>().OrderBy(x => x.Name)) 318 CrossoverParameter.ValidValues.Add(crossover); 319 if (oldCrossover != null) { 320 ICrossover crossover = CrossoverParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldCrossover.GetType()); 321 if (crossover != null) CrossoverParameter.Value = crossover; 322 } 312 ICrossover oldCrossover = CrossoverParameter.Value; 313 CrossoverParameter.ValidValues.Clear(); 314 foreach (ICrossover crossover in Problem.Operators.OfType<ICrossover>().OrderBy(x => x.Name)) 315 CrossoverParameter.ValidValues.Add(crossover); 316 if (oldCrossover != null) { 317 ICrossover crossover = CrossoverParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldCrossover.GetType()); 318 if (crossover != null) CrossoverParameter.Value = crossover; 323 319 } 324 320 } 325 321 private void UpdateMutators() { 326 if (ApplicationManager.Manager != null) { 327 IManipulator oldMutator = MutatorParameter.Value; 328 MutatorParameter.ValidValues.Clear(); 329 foreach (IManipulator mutator in Problem.Operators.OfType<IManipulator>().OrderBy(x => x.Name)) 330 MutatorParameter.ValidValues.Add(mutator); 331 if (oldMutator != null) { 332 IManipulator mutator = MutatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldMutator.GetType()); 333 if (mutator != null) MutatorParameter.Value = mutator; 334 } 322 IManipulator oldMutator = MutatorParameter.Value; 323 MutatorParameter.ValidValues.Clear(); 324 foreach (IManipulator mutator in Problem.Operators.OfType<IManipulator>().OrderBy(x => x.Name)) 325 MutatorParameter.ValidValues.Add(mutator); 326 if (oldMutator != null) { 327 IManipulator mutator = MutatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldMutator.GetType()); 328 if (mutator != null) MutatorParameter.Value = mutator; 335 329 } 336 330 }
Note: See TracChangeset
for help on using the changeset viewer.