Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/BreimanOne.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/BreimanOne.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/BreimanOne.cs	(revision 14228)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using HeuristicLab.Core;
 using HeuristicLab.Random;
 
@@ -43,15 +44,20 @@
     protected override int TestPartitionEnd { get { return 10001; } }
 
-    protected static FastRandom rand = new FastRandom();
+    public int Seed { get; }
+
+    public BreimanOne() : this((int)DateTime.Now.Ticks) { }
+    public BreimanOne(int seed) : base() {
+      Seed = seed;
+    }
 
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
       List<int> values = new List<int>() { -1, 1 };
-      data.Add(GenerateUniformIntegerDistribution(values, TestPartitionEnd));
+      var rand = new MersenneTwister((uint)Seed);
+      data.Add(GenerateUniformIntegerDistribution(rand, values, TestPartitionEnd));
       values.Add(0);
       for (int i = 0; i < AllowedInputVariables.Count() - 1; i++) {
-        data.Add(GenerateUniformIntegerDistribution(values, TestPartitionEnd));
+        data.Add(GenerateUniformIntegerDistribution(rand, values, TestPartitionEnd));
       }
-
       double x1, x2, x3, x4, x5, x6, x7;
       double f;
@@ -79,5 +85,5 @@
     }
 
-    private List<double> GenerateUniformIntegerDistribution(List<int> classes, int amount) {
+    private List<double> GenerateUniformIntegerDistribution(IRandom rand, List<int> classes, int amount) {
       List<double> values = new List<double>();
       for (int i = 0; i < amount; i++) {
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanOne.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanOne.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanOne.cs	(revision 14228)
@@ -42,11 +42,17 @@
     protected override int TestPartitionStart { get { return 5000; } }
     protected override int TestPartitionEnd { get { return 10000; } }
+    public int Seed { get; }
 
-    protected static FastRandom rand = new FastRandom();
+    public FriedmanOne() : this((int)DateTime.Now.Ticks) { }
+
+    public FriedmanOne(int seed) : base() {
+      Seed = seed;
+    }
 
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
+      var rand = new MersenneTwister((uint)Seed);
       for (int i = 0; i < AllowedInputVariables.Count(); i++) {
-        data.Add(ValueGenerator.GenerateUniformDistributedValues(10000, 0, 1).ToList());
+        data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 10000, 0, 1).ToList());
       }
 
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanTwo.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanTwo.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanTwo.cs	(revision 14228)
@@ -43,10 +43,17 @@
     protected override int TestPartitionEnd { get { return 10000; } }
 
-    protected static FastRandom rand = new FastRandom();
+    public int Seed { get; }
 
+    public FriedmanTwo() : this((int)DateTime.Now.Ticks) { }
+
+    public FriedmanTwo(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
+      var rand = new MersenneTwister((uint)Seed);
+
       for (int i = 0; i < AllowedInputVariables.Count(); i++) {
-        data.Add(ValueGenerator.GenerateUniformDistributedValues(10000, 0, 1).ToList());
+        data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 10000, 0, 1).ToList());
       }
 
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/PolyTen.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/PolyTen.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/PolyTen.cs	(revision 14228)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
@@ -45,9 +46,17 @@
     protected override int TestPartitionStart { get { return 250; } }
     protected override int TestPartitionEnd { get { return 500; } }
+    public int Seed { get; }
 
+    public PolyTen() : this((int)DateTime.Now.Ticks) { }
+
+    public PolyTen(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
+      var rand = new MersenneTwister((uint)Seed);
+
       for (int i = 0; i < AllowedInputVariables.Count(); i++) {
-        data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -1, 1).ToList());
+        data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -1, 1).ToList());
       }
 
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/SpatialCoevolution.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/SpatialCoevolution.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/SpatialCoevolution.cs	(revision 14228)
@@ -24,4 +24,5 @@
 using System.Linq;
 using HeuristicLab.Common;
+using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
@@ -50,5 +51,11 @@
     protected override int TestPartitionStart { get { return 676; } }
     protected override int TestPartitionEnd { get { return 1676; } }
+    public int Seed { get; }
 
+    public SpatialCoevolution() : this((int)DateTime.Now.Ticks) { }
+
+    public SpatialCoevolution(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
@@ -57,8 +64,9 @@
       List<List<double>> trainingData = new List<List<double>>() { evenlySpacedSequence, evenlySpacedSequence };
       var combinations = ValueGenerator.GenerateAllCombinationsOfValuesInLists(trainingData).ToList();
+      var rand = new MersenneTwister((uint)Seed);
 
       for (int i = 0; i < AllowedInputVariables.Count(); i++) {
         data.Add(combinations[i].ToList());
-        data[i].AddRange(ValueGenerator.GenerateUniformDistributedValues(1000, -5, 5).ToList());
+        data[i].AddRange(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 1000, -5, 5).ToList());
       }
 
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/VariousInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/VariousInstanceProvider.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/VariousInstanceProvider.cs	(revision 14228)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
@@ -37,12 +38,19 @@
       get { return ""; }
     }
+    public int Seed { get; }
 
+    public VariousInstanceProvider() : this((int)DateTime.Now.Ticks) { }
+
+    public VariousInstanceProvider(int seed) : base() {
+      Seed = seed;
+    }
     public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
       List<IDataDescriptor> descriptorList = new List<IDataDescriptor>();
-      descriptorList.Add(new BreimanOne());
-      descriptorList.Add(new FriedmanOne());
-      descriptorList.Add(new FriedmanTwo());
-      descriptorList.Add(new PolyTen());
-      descriptorList.Add(new SpatialCoevolution());
+      var rand = new MersenneTwister((uint)Seed);
+      descriptorList.Add(new BreimanOne(rand.Next()));
+      descriptorList.Add(new FriedmanOne(rand.Next()));
+      descriptorList.Add(new FriedmanTwo(rand.Next()));
+      descriptorList.Add(new PolyTen(rand.Next()));
+      descriptorList.Add(new SpatialCoevolution(rand.Next()));
       return descriptorList;
     }
