Changeset 14044 for branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Analyzers/SpacingAnalyzer.cs
- Timestamp:
- 07/12/16 18:20:50 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Analyzers/SpacingAnalyzer.cs
r13725 r14044 20 20 #endregion 21 21 22 using System.Linq; 22 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; … … 30 31 [Item("SpacingAnalyzer", "The spacing of the current front (see Multi-Objective Performance Metrics - Shodhganga for more information)")] 31 32 public class SpacingAnalyzer : MOTFAnalyzer { 32 33 [StorableHook(HookType.AfterDeserialization)]34 private void AfterDeserialization() {35 }36 37 33 [StorableConstructor] 38 34 protected SpacingAnalyzer(bool deserializing) : base(deserializing) { } 39 35 40 public SpacingAnalyzer() { 41 } 42 43 public SpacingAnalyzer(SpacingAnalyzer original, Cloner cloner) : base(original, cloner) { 44 } 45 36 protected SpacingAnalyzer(SpacingAnalyzer original, Cloner cloner) : base(original, cloner) { } 46 37 public override IDeepCloneable Clone(Cloner cloner) { 47 38 return new SpacingAnalyzer(this, cloner); 48 39 } 49 40 50 public override void Analyze(Individual[] individuals, double[][] qualities, ResultCollection results) { 51 if (!results.ContainsKey("Spacing")) results.Add(new Result("Spacing", typeof(DoubleValue))); 52 results["Spacing"].Value = new DoubleValue(Spacing.Calculate(qualities)); 41 public SpacingAnalyzer() { } 42 43 public override IOperation Apply() { 44 var results = ResultsParameter.ActualValue; 45 var qualities = QualitiesParameter.ActualValue; 46 47 if (!results.ContainsKey("Spacing")) results.Add(new Result("Spacing", new DoubleValue(0))); 48 var resultValue = (DoubleValue)results["Spacing"].Value; 49 50 var spacing = Spacing.Calculate(qualities.Select(q => q.ToArray())); 51 resultValue.Value = spacing; 52 53 return base.Apply(); 53 54 } 54 55 }
Note: See TracChangeset
for help on using the changeset viewer.