Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/17/11 18:22:28 (13 years ago)
Author:
cneumuel
Message:

#1215

  • support for maximization problems
  • made base level algorithms stoppable
  • optimization for multiple goals possible (AverageQuality, AverageDeviation, AverageEvaluatedSolutions)
  • lots of fixes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Analyzers/PMOBestSolutionHistoryAnalyzer.cs

    r5576 r6018  
    77using HeuristicLab.Parameters;
    88using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    9 using System.Collections.Generic;
    10 using System;
    11 using HeuristicLab.Analysis;
    129
    1310namespace HeuristicLab.Problems.MetaOptimization {
     
    3431      get { return (LookupParameter<IntValue>)Parameters["Generations"]; }
    3532    }
     33    public LookupParameter<BoolValue> MaximizationParameter {
     34      get { return (LookupParameter<BoolValue>)Parameters["Maximization"]; }
     35    }
    3636
    3737    public PMOBestSolutionHistoryAnalyzer()
     
    4242      Parameters.Add(new LookupParameter<ConstrainedItemList<IProblem>>(MetaOptimizationProblem.ProblemsParameterName));
    4343      Parameters.Add(new LookupParameter<IntValue>("Generations", ""));
     44      Parameters.Add(new LookupParameter<BoolValue>("Maximization", "Set to false if the problem should be minimized."));
    4445    }
    4546
     
    5657      ItemArray<ParameterConfigurationTree> parameterTrees = ParameterConfigurationParameter.ActualValue;
    5758      int currentGeneration = GenerationsParameter.ActualValue.Value;
    58       int idxBest = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).First().index; // todo: respect Min/Max
     59      bool maximization = MaximizationParameter.ActualValue.Value;
     60
     61      int idxBest;
     62      if (maximization)
     63        idxBest = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).Last().index;
     64      else
     65        idxBest = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).First().index;
     66
    5967      ParameterConfigurationTree best = parameterTrees[idxBest];
    6068
Note: See TracChangeset for help on using the changeset viewer.