Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/29/19 13:53:26 (5 years ago)
Author:
mkommend
Message:

#2521: Integrated changes of #2943 into problem refactoring branch.

Location:
branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions
Files:
15 edited

Legend:

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

    r16723 r17225  
    2828  [StorableType("3ED6C22E-EA6E-4336-BC49-884CE151E514")]
    2929  public abstract class DTLZ : MultiObjectiveTestFunction {
    30     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
     30    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
    3131      if (objectives == 2) return ParetoFrontStore.GetParetoFront("DTLZ.ParetoFronts." + this.ItemName + ".2D");
    3232      return null;
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR1.cs

    r16723 r17225  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Encodings.RealVectorEncoding;
     26using HeuristicLab.Optimization;
    2627using HEAL.Attic;
    2728
     
    3031  [StorableType("16DF9415-9D12-4FB9-A985-7EEAE05A24CA")]
    3132  public class IHR1 : IHR {
    32     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
     33    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
    3334      List<double[]> res = new List<double[]>();
    3435      for (int i = 0; i <= 500; i++) {
     
    4142
    4243    protected override double GetBestKnownHypervolume(int objectives) {
    43       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     44      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    4445    }
    4546
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR2.cs

    r16723 r17225  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Encodings.RealVectorEncoding;
     26using HeuristicLab.Optimization;
    2627using HEAL.Attic;
    2728
     
    3031  [StorableType("3E06E73F-61CD-4B99-99A8-84E6E9C0EFC9")]
    3132  public class IHR2 : IHR {
    32     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
     33    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
    3334      List<double[]> res = new List<double[]>();
    3435      for (int i = 0; i <= 500; i++) {
     
    4243
    4344    protected override double GetBestKnownHypervolume(int objectives) {
    44       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     45      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    4546    }
    4647
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR3.cs

    r16723 r17225  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Encodings.RealVectorEncoding;
     26using HeuristicLab.Optimization;
    2627using HEAL.Attic;
    2728
     
    3031  [StorableType("316D5351-762D-4883-ACEF-06F4EAFA73AE")]
    3132  public class IHR3 : IHR {
    32     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
     33    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
    3334      List<double[]> res = new List<double[]>();
    3435      for (int i = 0; i <= 500; i++) {
     
    4243
    4344    protected override double GetBestKnownHypervolume(int objectives) {
    44       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     45      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    4546    }
    4647
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR4.cs

    r16723 r17225  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Encodings.RealVectorEncoding;
     26using HeuristicLab.Optimization;
    2627using HEAL.Attic;
    2728
     
    3031  [StorableType("E83A9E6E-F7B3-4B27-B5CA-A323D89844F5")]
    3132  public class IHR4 : IHR {
    32     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
     33    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
    3334      List<double[]> res = new List<double[]>();
    3435      for (int i = 0; i <= 500; i++) {
     
    4142
    4243    protected override double GetBestKnownHypervolume(int objectives) {
    43       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     44      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    4445    }
    4546
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/IHR/IHR6.cs

    r16723 r17225  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Encodings.RealVectorEncoding;
     26using HeuristicLab.Optimization;
    2627using HEAL.Attic;
    2728
     
    3031  [StorableType("5C0A4163-831B-4507-997F-A70B59E3A445")]
    3132  public class IHR6 : IHR {
    32     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
     33    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
    3334      List<double[]> res = new List<double[]>();
    3435      for (int i = 0; i <= 500; i++) {
     
    4142
    4243    protected override double GetBestKnownHypervolume(int objectives) {
    43       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     44      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    4445    }
    4546
     
    4748    protected IHR6(StorableConstructorFlag _) : base(_) { }
    4849    protected IHR6(IHR6 original, Cloner cloner) : base(original, cloner) { }
    49     public IHR6() : base() {
    50     }
     50    public IHR6() : base() { }
    5151
    5252    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/CIGTAB.cs

    r16723 r17225  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Encodings.RealVectorEncoding;
     26using HeuristicLab.Optimization;
    2627using HEAL.Attic;
    2728
     
    3132  public class CIGTAB : MultiObjectiveTestFunction {
    3233    protected override double[,] GetBounds(int objectives) {
    33       return new double[,] { { -10, 10 } };
     34      return new double[,] {{-10, 10}};
    3435    }
    3536
     
    3940
    4041    protected override double[] GetReferencePoint(int objecitves) {
    41       return new double[] { 11, 11 };
     42      return new double[] {11, 11};
    4243    }
    4344
    44     protected override IEnumerable<double[]> GetOptimalParetoFront(int objecitves) {
     45    protected override IList<double[]> GetOptimalParetoFront(int objecitves) {
    4546      List<double[]> res = new List<double[]>();
    4647      for (int i = 0; i <= 500; i++) {
     
    5455
    5556    protected override double GetBestKnownHypervolume(int objectives) {
    56       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     57      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    5758    }
    5859
     
    8990      double f1 = 1 / (a * a * r.Length) * sum;
    9091
    91       return new double[] { f0, f1 };
     92      return new double[] {f0, f1};
    9293    }
    9394  }
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/ELLI1.cs

    r16723 r17225  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Encodings.RealVectorEncoding;
     26using HeuristicLab.Optimization;
    2627using HEAL.Attic;
    2728
     
    3132  public class ELLI : MultiObjectiveTestFunction {
    3233    protected override double[,] GetBounds(int objectives) {
    33       return new double[,] { { -10, 10 } };
     34      return new double[,] {{-10, 10}};
    3435    }
    3536
     
    3940
    4041    protected override double[] GetReferencePoint(int objecitves) {
    41       return new double[] { 11, 11 };
     42      return new double[] {11, 11};
    4243    }
    4344
    44     protected override IEnumerable<double[]> GetOptimalParetoFront(int objecitves) {
     45    protected override IList<double[]> GetOptimalParetoFront(int objecitves) {
    4546      List<double[]> res = new List<double[]>();
    4647      for (int i = 0; i <= 500; i++) {
     
    5455
    5556    protected override double GetBestKnownHypervolume(int objectives) {
    56       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     57      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    5758    }
    5859
     
    8485      double f1 = 1 / (a * a * r.Length) * sum;
    8586
    86       return new double[] { f0, f1 };
     87      return new double[] {f0, f1};
    8788    }
    8889  }
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/Fonseca.cs

    r16807 r17225  
    2222using System;
    2323using System.Collections.Generic;
     24using System.Linq;
    2425using HEAL.Attic;
    2526using HeuristicLab.Common;
    2627using HeuristicLab.Core;
    2728using HeuristicLab.Encodings.RealVectorEncoding;
     29using HeuristicLab.Optimization;
    2830
    2931namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
     
    3234  public class Fonseca : MultiObjectiveTestFunction {
    3335    protected override double[,] GetBounds(int objectives) {
    34       return new double[,] { { -4, 4 } };
     36      return new double[,] {{-4, 4}};
    3537    }
    3638
     
    3941    }
    4042
    41     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
    42       return ParetoFrontStore.GetParetoFront("Misc.ParetoFronts." + this.ItemName);
     43    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
     44      return ParetoFrontStore.GetParetoFront("Misc.ParetoFronts." + this.ItemName).ToList();
    4345    }
    4446
    4547    protected override double GetBestKnownHypervolume(int objectives) {
    46       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     48      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    4749    }
    4850
    4951    protected override double[] GetReferencePoint(int objectives) {
    50       return new double[] { 11, 11 };
     52      return new double[] {11, 11};
    5153    }
    5254
     
    7981      f1 = 1 - Math.Exp(-f1);
    8082
    81       double[] res = { f0, f1 };
     83      double[] res = {f0, f1};
    8284      return res;
    8385    }
    84 
    8586  }
    8687}
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/Kursawe.cs

    r16723 r17225  
    2121using System;
    2222using System.Collections.Generic;
     23using System.Linq;
    2324using HeuristicLab.Common;
    2425using HeuristicLab.Core;
    2526using HeuristicLab.Encodings.RealVectorEncoding;
     27using HeuristicLab.Optimization;
    2628using HEAL.Attic;
    2729
     
    3133  public class Kursawe : MultiObjectiveTestFunction {
    3234    protected override double[,] GetBounds(int objectives) {
    33       return new double[,] { { -5, 5 } };
     35      return new double[,] {{-5, 5}};
    3436    }
    3537
     
    3840    }
    3941
    40     protected override IEnumerable<double[]> GetOptimalParetoFront(int objecitves) {
     42    protected override IList<double[]> GetOptimalParetoFront(int objecitves) {
    4143      return ParetoFrontStore.GetParetoFront("Misc.ParetoFronts." + this.ItemName);
    4244    }
    4345
    4446    protected override double GetBestKnownHypervolume(int objectives) {
    45       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     47      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    4648    }
    4749
    4850    protected override double[] GetReferencePoint(int objectives) {
    49       return new double[] { 11, 11 };
     51      return new double[] {11, 11};
    5052    }
    5153
     
    5759    }
    5860    public Kursawe() : base(minimumObjectives: 2, maximumObjectives: 2, minimumSolutionLength: 3, maximumSolutionLength: int.MaxValue) { }
    59 
    60 
    61 
    6261
    6362
     
    7574      }
    7675
    77       return new double[] { f0, f1 };
     76      return new double[] {f0, f1};
    7877    }
    7978  }
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/SchafferN1.cs

    r16723 r17225  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Encodings.RealVectorEncoding;
     26using HeuristicLab.Optimization;
    2627using HEAL.Attic;
    2728
     
    3132  public class SchafferN1 : MultiObjectiveTestFunction {
    3233    protected override double[,] GetBounds(int objectives) {
    33       return new double[,] { { -1e5, 1e5 } };
     34      return new double[,] {{-1e5, 1e5}};
    3435    }
    3536
     
    3940
    4041    protected override double[] GetReferencePoint(int objectives) {
    41       return new double[] { 1e5, 1e5 };
     42      return new double[] {1e5, 1e5};
    4243    }
    4344
    4445
    45     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
     46    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
    4647      return ParetoFrontStore.GetParetoFront("Misc.ParetoFronts." + "SchafferN1");
    4748    }
    4849
    4950    protected override double GetBestKnownHypervolume(int objectives) {
    50       return Hypervolume.Calculate(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
     51      return HypervolumeCalculator.CalculateHypervolume(GetOptimalParetoFront(objectives), GetReferencePoint(objectives), GetMaximization(objectives));
    5152    }
    5253
     
    7273      f1 *= f1;
    7374
    74       return new double[] { f0, f1 };
     75      return new double[] {f0, f1};
    7576    }
    7677  }
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/SchafferN2.cs

    r16723 r17225  
    3131  public class SchafferN2 : MultiObjectiveTestFunction {
    3232    protected override double[,] GetBounds(int objectives) {
    33       return new double[,] { { -5, 10 } };
     33      return new double[,] {{-5, 10}};
    3434    }
    3535
     
    3939
    4040    protected override double[] GetReferencePoint(int objecitves) {
    41       return new double[] { 100, 100 };
     41      return new double[] {100, 100};
    4242    }
    4343
    4444
    45     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
     45    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
    4646      return null;
    4747    }
     
    7272      f1 *= f1;
    7373
    74       return new double[] { f0, f1 };
     74      return new double[] {f0, f1};
    7575    }
    7676  }
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/MultiObjectiveTestFunction.cs

    r16950 r17225  
    8787    /// retrieves the optimal pareto front (if known from a file)
    8888    /// </summary>
    89     public IEnumerable<double[]> OptimalParetoFront(int objectives) {
     89    public IList<double[]> OptimalParetoFront(int objectives) {
    9090      ThrowIfObjectivesOutOfRange(objectives);
    9191      return GetOptimalParetoFront(objectives);
    9292    }
    93     protected abstract IEnumerable<double[]> GetOptimalParetoFront(int objectives);
     93    protected abstract IList<double[]> GetOptimalParetoFront(int objectives);
    9494
    9595    /// <summary>
     
    132132      Parameters.Add(new FixedValueParameter<IntValue>("Minimum Objectives",
    133133        "The dimensionality of the problem instance (number of variables in the function).",
    134         (IntValue)new IntValue(minimumObjectives).AsReadOnly()) { GetsCollected = false });
    135       Parameters.Add(new FixedValueParameter<IntValue>("Maximum Objectives", "The dimensionality of the problem instance (number of variables in the function).", (IntValue)new IntValue(maximumObjectives).AsReadOnly()) { GetsCollected = false });
    136       Parameters.Add(new FixedValueParameter<IntValue>("Minimum SolutionLength", "The dimensionality of the problem instance (number of variables in the function).", (IntValue)new IntValue(minimumSolutionLength).AsReadOnly()) { GetsCollected = false });
    137       Parameters.Add(new FixedValueParameter<IntValue>("Maximum SolutionLength", "The dimensionality of the problem instance (number of variables in the function).", (IntValue)new IntValue(maximumSolutionLength).AsReadOnly()) { GetsCollected = false });
     134        (IntValue)new IntValue(minimumObjectives).AsReadOnly()) {GetsCollected = false});
     135      Parameters.Add(new FixedValueParameter<IntValue>("Maximum Objectives", "The dimensionality of the problem instance (number of variables in the function).", (IntValue)new IntValue(maximumObjectives).AsReadOnly()) {GetsCollected = false});
     136      Parameters.Add(new FixedValueParameter<IntValue>("Minimum SolutionLength", "The dimensionality of the problem instance (number of variables in the function).", (IntValue)new IntValue(minimumSolutionLength).AsReadOnly()) {GetsCollected = false});
     137      Parameters.Add(new FixedValueParameter<IntValue>("Maximum SolutionLength", "The dimensionality of the problem instance (number of variables in the function).", (IntValue)new IntValue(maximumSolutionLength).AsReadOnly()) {GetsCollected = false});
    138138
    139139      MinimumObjectives = minimumObjectives;
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ParetoFrontStore.cs

    r16723 r17225  
    2828namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
    2929  internal class ParetoFrontStore {
    30     internal static IEnumerable<double[]> GetParetoFront(String filename) {
     30    internal static IList<double[]> GetParetoFront(String filename) {
    3131      List<double[]> data = new List<double[]>();
    3232      var assembly = Assembly.GetExecutingAssembly();
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/ZDT/ZDT.cs

    r16723 r17225  
    2828  [StorableType("A8192C08-A1DA-479A-9381-9B634761B521")]
    2929  public abstract class ZDT : MultiObjectiveTestFunction {
    30     protected override IEnumerable<double[]> GetOptimalParetoFront(int objectives) {
     30    protected override IList<double[]> GetOptimalParetoFront(int objectives) {
    3131      return ParetoFrontStore.GetParetoFront("ZDT.ParetoFronts." + this.ItemName);
    3232    }
    3333
    3434    protected override double[,] GetBounds(int objectives) {
    35       return new double[,] { { 0, 1 } };
     35      return new double[,] {{0, 1}};
    3636    }
    3737
     
    4141
    4242    protected override double[] GetReferencePoint(int objecitives) {
    43       return new double[] { 11.0, 11.0 };
     43      return new double[] {11.0, 11.0};
    4444    }
    4545
     
    5151    protected ZDT(StorableConstructorFlag _) : base(_) { }
    5252    protected ZDT(MultiObjectiveTestFunction original, Cloner cloner)
    53       : base(original, cloner) {
    54     }
     53      : base(original, cloner) { }
    5554    protected ZDT() : base(minimumObjectives: 2, maximumObjectives: 2, minimumSolutionLength: 1, maximumSolutionLength: int.MaxValue) { }
    5655
Note: See TracChangeset for help on using the changeset viewer.