Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/21/15 11:54:43 (9 years ago)
Author:
mkommend
Message:

#2174: Updated views and renamed programmable problem to basic problem and added individual extension methods.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/New/OneMaxNew.cs

    r11797 r11813  
    2121
    2222using System.Linq;
     23using HeuristicLab.Analysis;
    2324using HeuristicLab.Common;
    2425using HeuristicLab.Core;
     26using HeuristicLab.Encodings.BinaryVectorEncoding;
     27using HeuristicLab.Optimization;
    2528using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2629
     
    3740      : base() {
    3841      Encoding = new BinaryEncoding("BinaryVector", 10);
     42      var bestScopeSolutionAnalyzer = Operators.OfType<BestScopeSolutionAnalyzer>().FirstOrDefault();
     43      if (bestScopeSolutionAnalyzer != null) Operators.Remove(bestScopeSolutionAnalyzer);
    3944    }
    4045
     
    4752    }
    4853    public override double Evaluate(Individual individual, IRandom random) {
    49       return individual.BinaryVector("BinaryVector").Count(b => b);
     54      return individual.BinaryVector().Count(b => b);
    5055    }
    5156
    52 
     57    public override void Analyze(Individual[] individuals, double[] qualities, ResultCollection results) {
     58      base.Analyze(individuals, qualities, results);
     59      var best = individuals.Zip(qualities, (i, q) => new { Individual = i, Quality = q }).OrderByDescending(z => z.Quality).First();
     60      if (!results.ContainsKey("Best Solution")) {
     61        results.Add(new Result("Best Solution", typeof(BinaryVector)));
     62      }
     63      results["Best Solution"].Value = best.Individual.BinaryVector();
     64    }
    5365  }
    5466}
Note: See TracChangeset for help on using the changeset viewer.