Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/22/11 10:56:48 (13 years ago)
Author:
cneumuel
Message:

#1215

  • reduced significance of NormalCrossovers
  • small fixes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Evaluators/AlgorithmRunsAnalyzer.cs

    r6018 r6038  
    5959    [StorableConstructor]
    6060    protected AlgorithmRunsAnalyzer(bool deserializing) : base(deserializing) { }
    61     public AlgorithmRunsAnalyzer() : base() {
     61    public AlgorithmRunsAnalyzer()
     62      : base() {
    6263      Parameters.Add(new LookupParameter<IRandom>("Random", "The pseudo random number generator which should be used to initialize the new random permutation."));
    6364      Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The evaluated quality of the ParameterVector."));
     
    134135        parameterConfiguration.AverageQualities = new DoubleArray(qualities.Select(q => q.Average()).ToArray());
    135136
    136         if(maximization)
     137        if (maximization)
    137138          parameterConfiguration.BestQualities = new DoubleArray(qualities.Select(q => q.Max()).ToArray());
    138139        else
    139140          parameterConfiguration.BestQualities = new DoubleArray(qualities.Select(q => q.Min()).ToArray());
    140        
     141
    141142        if (maximization)
    142143          parameterConfiguration.WorstQualities = new DoubleArray(qualities.Select(q => q.Min()).ToArray());
     
    148149        parameterConfiguration.Runs = runs;
    149150
    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));
    151152      } else {
    152153        // something terrible happened -> most probably due to invalid parameters.
    153154        // 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();
    156160        this.QualityParameter.ActualValue = new DoubleValue(penaltyValue);
    157161      }
Note: See TracChangeset for help on using the changeset viewer.