Changeset 6038 for branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Evaluators/AlgorithmRunsAnalyzer.cs
- Timestamp:
- 04/22/11 10:56:48 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Evaluators/AlgorithmRunsAnalyzer.cs
r6018 r6038 59 59 [StorableConstructor] 60 60 protected AlgorithmRunsAnalyzer(bool deserializing) : base(deserializing) { } 61 public AlgorithmRunsAnalyzer() : base() { 61 public AlgorithmRunsAnalyzer() 62 : base() { 62 63 Parameters.Add(new LookupParameter<IRandom>("Random", "The pseudo random number generator which should be used to initialize the new random permutation.")); 63 64 Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The evaluated quality of the ParameterVector.")); … … 134 135 parameterConfiguration.AverageQualities = new DoubleArray(qualities.Select(q => q.Average()).ToArray()); 135 136 136 if (maximization)137 if (maximization) 137 138 parameterConfiguration.BestQualities = new DoubleArray(qualities.Select(q => q.Max()).ToArray()); 138 139 else 139 140 parameterConfiguration.BestQualities = new DoubleArray(qualities.Select(q => q.Min()).ToArray()); 140 141 141 142 if (maximization) 142 143 parameterConfiguration.WorstQualities = new DoubleArray(qualities.Select(q => q.Min()).ToArray()); … … 148 149 parameterConfiguration.Runs = runs; 149 150 150 this.QualityParameter.ActualValue = new DoubleValue(MetaOptimizationUtil.Normalize(parameterConfiguration, referenceQualityAverages, referenceQualityDeviations, referenceEvaluatedSolutionAverages, 1, 1, 1, maximization));151 this.QualityParameter.ActualValue = new DoubleValue(MetaOptimizationUtil.Normalize(parameterConfiguration, referenceQualityAverages, referenceQualityDeviations, referenceEvaluatedSolutionAverages, 1, 0.1, 1, maximization)); 151 152 } else { 152 153 // something terrible happened -> most probably due to invalid parameters. 153 154 // penalty with worst quality from latest generation! 154 155 double penaltyValue = results.ContainsKey("CurrentWorstQuality") ? ((DoubleValue)results["CurrentWorstQuality"]).Value : referenceQualityAverages.Max(); // todo: respect min/max 155 double penaltyValue; 156 if (maximization) 157 penaltyValue = results.ContainsKey("CurrentWorstQuality") ? ((DoubleValue)results["CurrentWorstQuality"]).Value : referenceQualityAverages.Min(); 158 else 159 penaltyValue = results.ContainsKey("CurrentWorstQuality") ? ((DoubleValue)results["CurrentWorstQuality"]).Value : referenceQualityAverages.Max(); 156 160 this.QualityParameter.ActualValue = new DoubleValue(penaltyValue); 157 161 }
Note: See TracChangeset
for help on using the changeset viewer.