Changeset 6018 for branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Analyzers/PMOProblemQualitiesAnalyzer.cs
- Timestamp:
- 04/17/11 18:22:28 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Analyzers/PMOProblemQualitiesAnalyzer.cs
r5576 r6018 1 1 using System.Linq; 2 using HeuristicLab.Analysis; 2 3 using HeuristicLab.Common; 3 4 using HeuristicLab.Core; … … 7 8 using HeuristicLab.Parameters; 8 9 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 9 using System.Collections.Generic;10 using System;11 using HeuristicLab.Analysis;12 10 13 11 namespace HeuristicLab.Problems.MetaOptimization { … … 31 29 get { return (LookupParameter<ConstrainedItemList<IProblem>>)Parameters[MetaOptimizationProblem.ProblemsParameterName]; } 32 30 } 31 public LookupParameter<BoolValue> MaximizationParameter { 32 get { return (LookupParameter<BoolValue>)Parameters["Maximization"]; } 33 } 33 34 34 35 public PMOProblemQualitiesAnalyzer() … … 38 39 Parameters.Add(new ValueLookupParameter<ResultCollection>("Results", "")); 39 40 Parameters.Add(new LookupParameter<ConstrainedItemList<IProblem>>(MetaOptimizationProblem.ProblemsParameterName)); 41 Parameters.Add(new LookupParameter<BoolValue>("Maximization", "Set to false if the problem should be minimized.")); 40 42 } 41 43 … … 51 53 ResultCollection results = ResultsParameter.ActualValue; 52 54 ItemArray<ParameterConfigurationTree> parameterTrees = ParameterConfigurationParameter.ActualValue; 53 int idxBest = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).First().index; // todo: respect Min/Max 54 int idxWorst = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).Last().index; 55 55 bool maximization = MaximizationParameter.ActualValue.Value; 56 57 int idxBest ; 58 int idxWorst; 59 if (maximization) { 60 idxBest = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).Last().index; 61 idxWorst = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).First().index; 62 } else { 63 idxBest = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).First().index; 64 idxWorst = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).Last().index; 65 } 66 56 67 int problemCount = ProblemsParameter.ActualValue.Count; 57 68
Note: See TracChangeset
for help on using the changeset viewer.