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/KeijzerFunctionFourteen.cs

    r14185 r14228  
    2424using System.Linq;
    2525using HeuristicLab.Common;
     26using HeuristicLab.Random;
    2627
    2728namespace HeuristicLab.Problems.Instances.DataAnalysis {
     
    4647    protected override int TestPartitionStart { get { return 20; } }
    4748    protected override int TestPartitionEnd { get { return 20 + (601 * 601); } }
     49    public int Seed { get; }
     50
     51    public KeijzerFunctionFourteen() : this((int)System.DateTime.Now.Ticks) {
     52    }
     53    public KeijzerFunctionFourteen(int seed) : base() {
     54      Seed = seed;
     55    }
     56
    4857
    4958    protected override List<List<double>> GenerateValues() {
    5059      List<List<double>> data = new List<List<double>>();
    51       List<double> oneVariableTestData = SequenceGenerator.GenerateSteps(-3, 3, 0.01m).Select(v => (double) v).ToList();
     60      List<double> oneVariableTestData = SequenceGenerator.GenerateSteps(-3, 3, 0.01m).Select(v => (double)v).ToList();
    5261      List<List<double>> testData = new List<List<double>>() { oneVariableTestData, oneVariableTestData };
    5362
    5463      var combinations = ValueGenerator.GenerateAllCombinationsOfValuesInLists(testData).ToList();
     64      var rand = new MersenneTwister((uint)Seed);
    5565
    5666      for (int i = 0; i < AllowedInputVariables.Count(); i++) {
    57         data.Add(ValueGenerator.GenerateUniformDistributedValues(20, -3, 3).ToList());
     67        data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 20, -3, 3).ToList());
    5868        data[i].AddRange(combinations[i]);
    5969      }
Note: See TracChangeset for help on using the changeset viewer.