Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/02/16 18:09:47 (8 years ago)
Author:
gkronber
Message:

#2371: added constructors to allow specification of random seeds for randomly generated regression problem instances (primarily for unit tests)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Keijzer/KeijzerInstanceProvider.cs

    r14185 r14228  
    2222using System;
    2323using System.Collections.Generic;
     24using HeuristicLab.Random;
    2425
    2526namespace HeuristicLab.Problems.Instances.DataAnalysis {
     
    3738      get { return "McDermott et al., 2012 \"Genetic Programming Needs Better Benchmarks\", in Proc. of GECCO 2012."; }
    3839    }
     40    public int Seed { get; }
     41
     42    public KeijzerInstanceProvider() : this((int)System.DateTime.Now.Ticks) {
     43    }
     44    public KeijzerInstanceProvider(int seed) : base() {
     45      Seed = seed;
     46    }
    3947
    4048    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
    4149      List<IDataDescriptor> descriptorList = new List<IDataDescriptor>();
     50      var rand = new MersenneTwister((uint)Seed);
    4251      descriptorList.Add(new KeijzerFunctionOne());
    4352      descriptorList.Add(new KeijzerFunctionTwo());
    4453      descriptorList.Add(new KeijzerFunctionThree());
    4554      descriptorList.Add(new KeijzerFunctionFour());
    46       descriptorList.Add(new KeijzerFunctionFive());
     55      descriptorList.Add(new KeijzerFunctionFive(rand.Next()));
    4756      descriptorList.Add(new KeijzerFunctionSix());
    4857      descriptorList.Add(new KeijzerFunctionSeven());
    4958      descriptorList.Add(new KeijzerFunctionEight());
    5059      descriptorList.Add(new KeijzerFunctionNine());
    51       descriptorList.Add(new KeijzerFunctionTen());
    52       descriptorList.Add(new KeijzerFunctionEleven());
    53       descriptorList.Add(new KeijzerFunctionTwelve());
    54       descriptorList.Add(new KeijzerFunctionThirteen());
    55       descriptorList.Add(new KeijzerFunctionFourteen());
    56       descriptorList.Add(new KeijzerFunctionFifteen());
     60      descriptorList.Add(new KeijzerFunctionTen(rand.Next()));
     61      descriptorList.Add(new KeijzerFunctionEleven(rand.Next()));
     62      descriptorList.Add(new KeijzerFunctionTwelve(rand.Next()));
     63      descriptorList.Add(new KeijzerFunctionThirteen(rand.Next()));
     64      descriptorList.Add(new KeijzerFunctionFourteen(rand.Next()));
     65      descriptorList.Add(new KeijzerFunctionFifteen(rand.Next()));
    5766      return descriptorList;
    5867    }
Note: See TracChangeset for help on using the changeset viewer.