Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/17/19 23:07:03 (5 years ago)
Author:
mkommend
Message:

#2521: Adapted test functions to new architecture and partly MOCMAES.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/MultiObjectiveTestFunctionProblem.cs

    r16723 r16807  
    2222using System.Collections.Generic;
    2323using System.Linq;
     24using HEAL.Attic;
    2425using HeuristicLab.Common;
    2526using HeuristicLab.Core;
     
    2829using HeuristicLab.Optimization;
    2930using HeuristicLab.Parameters;
    30 using HEAL.Attic;
    3131using HeuristicLab.Problems.Instances;
    3232
     
    3535  [Creatable(CreatableAttribute.Categories.Problems, Priority = 95)]
    3636  [Item("Test Function (multi-objective)", "Test functions with real valued inputs and multiple objectives.")]
    37   public class MultiObjectiveTestFunctionProblem : MultiObjectiveBasicProblem<RealVectorEncoding>, IProblemInstanceConsumer<MOTFData> {
     37  public class MultiObjectiveTestFunctionProblem : MultiObjectiveProblem<RealVectorEncoding, RealVector>, IProblemInstanceConsumer<MOTFData> {
    3838
    3939    #region Parameter Properties
    40     public IValueParameter<BoolArray> MaximizationParameter {
    41       get { return (IValueParameter<BoolArray>)Parameters["Maximization"]; }
    42     }
    4340    public IFixedValueParameter<IntValue> ProblemSizeParameter {
    4441      get { return (IFixedValueParameter<IntValue>)Parameters["ProblemSize"]; }
     
    6562    public override bool[] Maximization {
    6663      get {
    67         if (!Parameters.ContainsKey("Maximization")) return new bool[2];
    68         return MaximizationParameter.Value.ToArray();
     64        //necessary because of virtual member call in base ctor
     65        if (!Parameters.ContainsKey("TestFunction")) return new bool[0];
     66        return TestFunction.Maximization(Objectives).ToArray();
    6967      }
    7068    }
     
    136134
    137135
    138     public override void Analyze(Individual[] individuals, double[][] qualities, ResultCollection results, IRandom random) {
    139       base.Analyze(individuals, qualities, results, random);
     136    public override void Analyze(RealVector[] solutions, double[][] qualities, ResultCollection results, IRandom random) {
     137      base.Analyze(solutions, qualities, results, random);
    140138      if (results.ContainsKey("Pareto Front")) {
    141139        ((DoubleMatrix)results["Pareto Front"].Value).SortableView = true;
     
    156154    }
    157155
    158     public double[] Evaluate(RealVector individual) {
    159       return TestFunction.Evaluate(individual, Objectives);
    160     }
    161 
    162     public override double[] Evaluate(Individual individual, IRandom random) {
    163       return Evaluate(individual.RealVector());
    164     }
     156    public override double[] Evaluate(RealVector solution, IRandom random) {
     157      return TestFunction.Evaluate(solution, Objectives);
     158    }
     159
    165160
    166161    public void Load(MOTFData data) {
Note: See TracChangeset for help on using the changeset viewer.