Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/18/16 15:50:10 (8 years ago)
Author:
bwerth
Message:

#1087 refactored Analyzers to use ResultParameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Analyzers/SpacingAnalyzer.cs

    r14044 r14097  
    3131  [Item("SpacingAnalyzer", "The spacing of the current front (see Multi-Objective Performance Metrics - Shodhganga for more information)")]
    3232  public class SpacingAnalyzer : MOTFAnalyzer {
     33
     34    public IResultParameter<DoubleValue> SpacingResultParameter {
     35      get { return (IResultParameter<DoubleValue>)Parameters["Spacing"]; }
     36    }
    3337    [StorableConstructor]
    3438    protected SpacingAnalyzer(bool deserializing) : base(deserializing) { }
     39
    3540
    3641    protected SpacingAnalyzer(SpacingAnalyzer original, Cloner cloner) : base(original, cloner) { }
     
    3944    }
    4045
    41     public SpacingAnalyzer() { }
     46    public SpacingAnalyzer() {
     47      Parameters.Add(new ResultParameter<DoubleValue>("Spacing", "The spacing of the current front"));
     48      SpacingResultParameter.DefaultValue = new DoubleValue(double.NaN);
     49    }
    4250
    4351    public override IOperation Apply() {
    44       var results = ResultsParameter.ActualValue;
    4552      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 
    5053      var spacing = Spacing.Calculate(qualities.Select(q => q.ToArray()));
    51       resultValue.Value = spacing;
     54      SpacingResultParameter.ActualValue.Value = spacing;
    5255
    5356      return base.Apply();
Note: See TracChangeset for help on using the changeset viewer.