Changeset 14097 for branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Analyzers/CrowdingAnalyzer.cs
- Timestamp:
- 07/18/16 15:50:10 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.MultiObjectiveTestFunctions/HeuristicLab.Problems.MultiObjectiveTestFunctions/3.3/Analyzers/CrowdingAnalyzer.cs
r14085 r14097 37 37 } 38 38 39 public IResultParameter<DoubleValue> CrowdingResultParameter { 40 get { return (IResultParameter<DoubleValue>)Parameters["Crowding"]; } 41 } 42 39 43 [StorableConstructor] 40 44 protected CrowdingAnalyzer(bool deserializing) : base(deserializing) { } … … 49 53 Parameters.Add(new LookupParameter<DoubleMatrix>("Bounds", 50 54 "The bounds of the solution given as either one line for all variables or a line for each variable. The first column specifies lower bound, the second upper bound.")); 55 Parameters.Add(new ResultParameter<DoubleValue>("Crowding", "The average corwding value of all points (excluding infinities)")); 56 CrowdingResultParameter.DefaultValue = new DoubleValue(double.NaN); 57 51 58 } 52 59 53 60 public override IOperation Apply() { 54 var results = ResultsParameter.ActualValue;55 61 var qualities = QualitiesParameter.ActualValue; 56 62 var bounds = BoundsParameter.ActualValue; 57 63 58 if (!results.ContainsKey("Crowding")) results.Add(new Result("Crowding", new DoubleValue()));59 var resultValue = (DoubleValue)results["Crowding"].Value;60 61 64 var crowdingDistance = Crowding.Calculate(qualities.Select(x => x.ToArray()), bounds.CloneAsMatrix()); 62 resultValue.Value = crowdingDistance;65 CrowdingResultParameter.ActualValue.Value = crowdingDistance; 63 66 64 67 return base.Apply();
Note: See TracChangeset
for help on using the changeset viewer.