Changeset 3303 for trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm
- Timestamp:
- 04/12/10 01:29:35 (15 years ago)
- Location:
- trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified 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 } -
TabularUnified trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/Tests/UnitTest.cs ¶
r3265 r3303 23 23 using System.Threading; 24 24 using HeuristicLab.Common; 25 using HeuristicLab.Data; 25 26 using HeuristicLab.Optimization; 26 27 using HeuristicLab.Persistence.Default.Xml; … … 90 91 trigger.WaitOne(); 91 92 TestContext.WriteLine("Runtime: {0}", ga.ExecutionTime.ToString()); 93 94 double expectedBestQuality = 12332.0; 95 double expectedAverageQuality = 13123.2; 96 double expectedWorstQuality = 14538.0; 97 double bestQuality = (ga.Results["Current Best Quality"].Value as DoubleValue).Value; 98 double averageQuality = (ga.Results["Current Average Quality"].Value as DoubleValue).Value; 99 double worstQuality = (ga.Results["Current Worst Quality"].Value as DoubleValue).Value; 100 101 TestContext.WriteLine(""); 102 TestContext.WriteLine("Current Best Quality: {0} (should be {1})", bestQuality, expectedBestQuality); 103 TestContext.WriteLine("Current Average Quality: {0} (should be {1})", averageQuality, expectedAverageQuality); 104 TestContext.WriteLine("Current Worst Quality: {0} (should be {1})", worstQuality, expectedWorstQuality); 105 106 Assert.AreEqual(bestQuality, expectedBestQuality); 107 Assert.AreEqual(averageQuality, expectedAverageQuality); 108 Assert.AreEqual(worstQuality, expectedWorstQuality); 109 92 110 if (ex != null) throw ex; 93 111 }
Note: See TracChangeset
for help on using the changeset viewer.