Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessPolyTen.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessPolyTen.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessPolyTen.cs	(revision 9112)
@@ -42,7 +42,7 @@
     protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 250; } }
-    protected override int TestPartitionStart { get { return 250; } }
-    protected override int TestPartitionEnd { get { return 500; } }
+    protected override int TrainingPartitionEnd { get { return 500; } }
+    protected override int TestPartitionStart { get { return 500; } }
+    protected override int TestPartitionEnd { get { return 1000; } }
 
     protected override List<List<double>> GenerateValues() {
@@ -129,5 +129,5 @@
       covarianceFunction.Terms.Add(t5);
 
-      var cov = covarianceFunction.GetParameterizedCovarianceFunction(hyp, Enumerable.Range(0, AllowedInputVariables.Count()));
+      var cov = covarianceFunction.GetParameterizedCovarianceFunction(hyp, null);
 
 
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessRegressionInstance.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessRegressionInstance.cs	(revision 9112)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessRegressionInstance.cs	(revision 9112)
@@ -0,0 +1,76 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Algorithms.DataAnalysis;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class GaussianProcessRegressionInstance : ArtificialRegressionDataDescriptor {
+
+    public override string Name {
+      get { return "Gaussian Process " + covarianceFunction.ItemName; }
+    }
+    public override string Description {
+      get { return ""; }
+    }
+    protected override string TargetVariable { get { return "Y"; } }
+    protected override string[] VariableNames { get { return new string[] { "X1", "X2", "Y" }; } }
+    protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2" }; } }
+    protected override int TrainingPartitionStart { get { return 0; } }
+    protected override int TrainingPartitionEnd { get { return 100; } }
+    protected override int TestPartitionStart { get { return 100; } }
+    protected override int TestPartitionEnd { get { return 200; } }
+
+    private ICovarianceFunction covarianceFunction;
+
+    public GaussianProcessRegressionInstance(ICovarianceFunction covarianceFunction) {
+      this.covarianceFunction = covarianceFunction;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+
+      List<List<double>> data = new List<List<double>>();
+      for (int i = 0; i < AllowedInputVariables.Count(); i++) {
+        data.Add(ValueGenerator.GenerateSteps(0, 0.99, 0.01).ToList());
+        data[i].AddRange(ValueGenerator.GenerateSteps(0.005, 1, 0.01).ToList());
+      }
+      var mt = new MersenneTwister();
+
+      var noise = new CovarianceNoise();
+      noise.SetParameter(new double[] { Math.Log(Math.Sqrt(0.01)) });
+      var t = new CovarianceSum();
+      t.Terms.Add(covarianceFunction);
+      t.Terms.Add(noise);
+
+      var p = Enumerable.Range(0, t.GetNumberOfParameters(data.Count)).Select(i => mt.NextDouble() - 1).ToArray();
+
+      var cov = t.GetParameterizedCovarianceFunction(p, null);
+
+      var target = Util.SampleGaussianProcess(mt, cov, data);
+      data.Add(target);
+
+      return data;
+    }
+  }
+}
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso.cs	(revision 9112)
@@ -59,5 +59,5 @@
         covarianceFunction.GetParameterizedCovarianceFunction(
           new double[] { Math.Log(0.1), Math.Log(Math.Sqrt(1)), Math.Log(Math.Sqrt(0.01)) },
-          Enumerable.Range(0, AllowedInputVariables.Count()));
+          null);
 
       var mt = new MersenneTwister(31415);
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso1.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso1.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso1.cs	(revision 9112)
@@ -41,7 +41,7 @@
     protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 50; } }
-    protected override int TestPartitionStart { get { return 50; } }
-    protected override int TestPartitionEnd { get { return 100; } }
+    protected override int TrainingPartitionEnd { get { return 250; } }
+    protected override int TestPartitionStart { get { return 250; } }
+    protected override int TestPartitionEnd { get { return 500; } }
 
     protected override List<List<double>> GenerateValues() {
@@ -66,5 +66,5 @@
       covFun.Terms.Add(new CovarianceNoise());
 
-      var cov = covFun.GetParameterizedCovarianceFunction(hyp, Enumerable.Range(0, AllowedInputVariables.Count()));
+      var cov = covFun.GetParameterizedCovarianceFunction(hyp, null);
       var mt = new MersenneTwister();
       var target = Util.SampleGaussianProcess(mt, cov, data);
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso2.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso2.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso2.cs	(revision 9112)
@@ -41,7 +41,7 @@
     protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 50; } }
-    protected override int TestPartitionStart { get { return 50; } }
-    protected override int TestPartitionEnd { get { return 100; } }
+    protected override int TrainingPartitionEnd { get { return 250; } }
+    protected override int TestPartitionStart { get { return 250; } }
+    protected override int TestPartitionEnd { get { return 500; } }
 
     protected override List<List<double>> GenerateValues() {
@@ -70,5 +70,5 @@
       covFun.Terms.Add(m2);
       covFun.Terms.Add(new CovarianceNoise());
-      var cov = covFun.GetParameterizedCovarianceFunction(hyp, Enumerable.Range(0, AllowedInputVariables.Count()));
+      var cov = covFun.GetParameterizedCovarianceFunction(hyp, null);
 
       var mt = new MersenneTwister();
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso3.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso3.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso3.cs	(revision 9112)
@@ -41,7 +41,7 @@
     protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 50; } }
-    protected override int TestPartitionStart { get { return 50; } }
-    protected override int TestPartitionEnd { get { return 100; } }
+    protected override int TrainingPartitionEnd { get { return 250; } }
+    protected override int TestPartitionStart { get { return 250; } }
+    protected override int TestPartitionEnd { get { return 500; } }
 
     protected override List<List<double>> GenerateValues() {
@@ -75,5 +75,5 @@
       covFun.Terms.Add(m3);
       covFun.Terms.Add(new CovarianceNoise());
-      var cov = covFun.GetParameterizedCovarianceFunction(hyp, Enumerable.Range(0, AllowedInputVariables.Count()));
+      var cov = covFun.GetParameterizedCovarianceFunction(hyp, null);
 
       var mt = new MersenneTwister();
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso4.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso4.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso4.cs	(revision 9112)
@@ -41,7 +41,7 @@
     protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 50; } }
-    protected override int TestPartitionStart { get { return 50; } }
-    protected override int TestPartitionEnd { get { return 100; } }
+    protected override int TrainingPartitionEnd { get { return 250; } }
+    protected override int TestPartitionStart { get { return 250; } }
+    protected override int TestPartitionEnd { get { return 500; } }
 
     protected override List<List<double>> GenerateValues() {
@@ -66,5 +66,5 @@
       covFun.Terms.Add(new CovarianceNoise());
 
-      var cov = covFun.GetParameterizedCovarianceFunction(hyp, Enumerable.Range(0, AllowedInputVariables.Count()));
+      var cov = covFun.GetParameterizedCovarianceFunction(hyp, null);
       var mt = new MersenneTwister();
       var target = Util.SampleGaussianProcess(mt, cov, data);
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso5.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso5.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso5.cs	(revision 9112)
@@ -41,7 +41,7 @@
     protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 50; } }
-    protected override int TestPartitionStart { get { return 50; } }
-    protected override int TestPartitionEnd { get { return 100; } }
+    protected override int TrainingPartitionEnd { get { return 250; } }
+    protected override int TestPartitionStart { get { return 250; } }
+    protected override int TestPartitionEnd { get { return 500; } }
 
     protected override List<List<double>> GenerateValues() {
@@ -69,5 +69,5 @@
       covFun.Terms.Add(m2);
       covFun.Terms.Add(new CovarianceNoise());
-      var cov = covFun.GetParameterizedCovarianceFunction(hyp, Enumerable.Range(0, AllowedInputVariables.Count()));
+      var cov = covFun.GetParameterizedCovarianceFunction(hyp, null);
 
       var mt = new MersenneTwister();
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso6.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso6.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIso6.cs	(revision 9112)
@@ -41,7 +41,7 @@
     protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 50; } }
-    protected override int TestPartitionStart { get { return 50; } }
-    protected override int TestPartitionEnd { get { return 100; } }
+    protected override int TrainingPartitionEnd { get { return 250; } }
+    protected override int TestPartitionStart { get { return 250; } }
+    protected override int TestPartitionEnd { get { return 500; } }
 
     protected override List<List<double>> GenerateValues() {
@@ -80,5 +80,5 @@
       covFun.Terms.Add(m4);
       covFun.Terms.Add(new CovarianceNoise());
-      var cov = covFun.GetParameterizedCovarianceFunction(hyp, Enumerable.Range(0, AllowedInputVariables.Count()));
+      var cov = covFun.GetParameterizedCovarianceFunction(hyp, null);
 
 
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIsoDependentNoise.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIsoDependentNoise.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/GaussianProcessSEIsoDependentNoise.cs	(revision 9112)
@@ -41,7 +41,7 @@
     protected override string[] AllowedInputVariables { get { return new string[] { "X1" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 100; } }
-    protected override int TestPartitionStart { get { return 100; } }
-    protected override int TestPartitionEnd { get { return 200; } }
+    protected override int TrainingPartitionEnd { get { return 250; } }
+    protected override int TestPartitionStart { get { return 250; } }
+    protected override int TestPartitionEnd { get { return 500; } }
 
     protected override List<List<double>> GenerateValues() {
@@ -56,5 +56,5 @@
       covarianceFunction.Terms.Add(new CovarianceSquaredExponentialIso());
       var prod = new CovarianceProduct();
-      prod.Factors.Add(new CovarianceSquaredExponentialIso());
+      prod.Factors.Add(new CovarianceLinear());
       prod.Factors.Add(new CovarianceNoise());
       covarianceFunction.Terms.Add(prod);
@@ -63,9 +63,8 @@
         {
           Math.Log(0.1), Math.Log(Math.Sqrt(1)), // SE iso
-          Math.Log(0.5), Math.Log(Math.Sqrt(1)), // SE iso for noise
-          Math.Log(Math.Sqrt(0.1)), // dependent noise
+          Math.Log(Math.Sqrt(0.5)), // dependent noise
           Math.Log(Math.Sqrt(0.01)) // noise
         };
-      var cov = covarianceFunction.GetParameterizedCovarianceFunction(hyp, Enumerable.Range(0, AllowedInputVariables.Count()));
+      var cov = covarianceFunction.GetParameterizedCovarianceFunction(hyp, null);
 
       var mt = new MersenneTwister(31415);
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/Instances.DataAnalysis.GaussianProcessRegression-3.3.csproj
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/Instances.DataAnalysis.GaussianProcessRegression-3.3.csproj	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/Instances.DataAnalysis.GaussianProcessRegression-3.3.csproj	(revision 9112)
@@ -26,5 +26,5 @@
     <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
-    <OutputPath>..\..\bin\</OutputPath>
+    <OutputPath>..\..\..\trunk\sources\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
@@ -52,5 +52,5 @@
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <OutputPath>..\..\bin\</OutputPath>
+    <OutputPath>..\..\..\trunk\sources\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <Optimize>true</Optimize>
@@ -82,5 +82,5 @@
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
-    <OutputPath>..\..\bin\</OutputPath>
+    <OutputPath>..\..\..\trunk\sources\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <Optimize>true</Optimize>
@@ -178,4 +178,5 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="GaussianProcessRegressionInstance.cs" />
     <Compile Include="GaussianProcessSEIso6.cs" />
     <Compile Include="GaussianProcessSEIso1.cs" />
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/Plugin.cs.frame
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/Plugin.cs.frame	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/Plugin.cs.frame	(revision 9112)
@@ -26,5 +26,5 @@
   [PluginFile("HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression-3.3.dll", PluginFileType.Assembly)]
   [PluginDependency("HeuristicLab.ALGLIB", "3.6.0")]
-  [PluginDependency("HeuristicLab.Algorithm.DataAnalysis", "3.4")]
+  [PluginDependency("HeuristicLab.Algorithms.DataAnalysis", "3.4")]
   [PluginDependency("HeuristicLab.Collections", "3.3")]
   [PluginDependency("HeuristicLab.Common", "3.3")]
Index: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/VariousInstanceProvider.cs
===================================================================
--- branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/VariousInstanceProvider.cs	(revision 9099)
+++ branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/VariousInstanceProvider.cs	(revision 9112)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Algorithms.DataAnalysis;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
@@ -49,4 +50,19 @@
       descriptorList.Add(new GaussianProcessPolyTen());
       descriptorList.Add(new GaussianProcessSEIsoDependentNoise());
+
+      var covs = new ICovarianceFunction[] {
+        new CovarianceSquaredExponentialIso(), 
+        new CovarianceSquaredExponentialArd(), 
+        new CovarianceLinear(), 
+        new CovarianceLinearArd(), 
+        new CovarianceMaternIso(), 
+        new CovariancePeriodic(), 
+        new CovarianceRationalQuadraticArd(), 
+        new CovarianceRationalQuadraticIso()
+      };
+      foreach (var cov in covs) {
+        descriptorList.Add(new GaussianProcessRegressionInstance(cov));
+      }
+
       return descriptorList;
     }
