Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab 3.3.sln
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab 3.3.sln	(revision 7665)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab 3.3.sln	(revision 7666)
@@ -15,6 +15,4 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Instances.Regression-3.4", "HeuristicLab.Problems.Instances.Regression\3.4\HeuristicLab.Problems.Instances.Regression-3.4.csproj", "{26BF13E1-C8B2-4ACE-862D-EBFD360116B3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Instances.Regression.Views-3.4", "HeuristicLab.Problems.Instances.Regression.Views\3.4\HeuristicLab.Problems.Instances.Regression.Views-3.4.csproj", "{1CC61973-7706-42DC-8023-310F591AB02B}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Optimization.Views-3.3", "HeuristicLab.Optimization.Views\3.3\HeuristicLab.Optimization.Views-3.3.csproj", "{662B4B15-8F4D-4AE5-B3EB-D91C215F5AF2}"
@@ -94,16 +92,4 @@
 		{26BF13E1-C8B2-4ACE-862D-EBFD360116B3}.Release|x64.ActiveCfg = Release|Any CPU
 		{26BF13E1-C8B2-4ACE-862D-EBFD360116B3}.Release|x86.ActiveCfg = Release|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Release|x64.ActiveCfg = Release|Any CPU
-		{1CC61973-7706-42DC-8023-310F591AB02B}.Release|x86.ActiveCfg = Release|Any CPU
 		{662B4B15-8F4D-4AE5-B3EB-D91C215F5AF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{662B4B15-8F4D-4AE5-B3EB-D91C215F5AF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/HeuristicLab.Problems.Instances.Regression-3.4.csproj
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/HeuristicLab.Problems.Instances.Regression-3.4.csproj	(revision 7665)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/HeuristicLab.Problems.Instances.Regression-3.4.csproj	(revision 7666)
@@ -53,4 +53,5 @@
       <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Random-3.3.dll</HintPath>
     </Reference>
+    <Reference Include="ICSharpCode.SharpZipLib, Version=0.85.4.369, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL" />
     <Reference Include="System" />
     <Reference Include="System.Core" />
@@ -107,5 +108,10 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="RegressionInstanceProvider.cs" />
+    <Compile Include="TrentMcConaghy\TrentMcConaghyInstanceProvider.cs" />
     <Compile Include="ValueGenerator.cs" />
+    <Compile Include="Various\BreimanOne.cs" />
+    <Compile Include="Various\SpatialCoevolution.cs" />
+    <Compile Include="Various\PolyTen.cs" />
+    <Compile Include="Various\VariousInstanceProvider.cs" />
     <Compile Include="Vladislavleva\UnwrappedBallFunctionFiveDimensional.cs" />
     <Compile Include="Vladislavleva\SineCosineFunction.cs" />
@@ -119,4 +125,5 @@
   </ItemGroup>
   <ItemGroup>
+    <EmbeddedResource Include="Data\TrentMcConaghy.zip" />
     <None Include="HeuristicLab.snk" />
     <None Include="Plugin.cs.frame" />
@@ -133,4 +140,5 @@
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Properties/AssemblyInfo.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Properties/AssemblyInfo.cs	(revision 7665)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Properties/AssemblyInfo.cs	(revision 7666)
@@ -55,3 +55,3 @@
 // [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion("3.4.0.0")]
-[assembly: AssemblyFileVersion("3.4.0.7664")]
+[assembly: AssemblyFileVersion("3.4.0.7665")]
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/ResourceRegressionDataDescriptor.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/ResourceRegressionDataDescriptor.cs	(revision 7665)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/ResourceRegressionDataDescriptor.cs	(revision 7666)
@@ -26,5 +26,10 @@
     public string Description { get; internal set; }
 
-    internal string resourceName { get; set; }
+    internal string ResourceName { get; set; }
+    internal ResourceRegressionDataDescriptor(string name, string description, string resourceName) {
+      Name = name;
+      Description = description;
+      ResourceName = resourceName;
+    }
   }
 }
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/ResourceRegressionInstanceProvider.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/ResourceRegressionInstanceProvider.cs	(revision 7665)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/ResourceRegressionInstanceProvider.cs	(revision 7666)
@@ -23,11 +23,16 @@
 using System.Linq;
 using System.Reflection;
+using System.Text.RegularExpressions;
+using ICSharpCode.SharpZipLib.Zip;
 
 namespace HeuristicLab.Problems.Instances.Regression {
   public abstract class ResourceRegressionInstanceProvider : RegressionInstanceProvider {
+
+    protected abstract string FileExtension { get; }
+
     public override RegressionData LoadData(IDataDescriptor id) {
       var descriptor = (ResourceRegressionDataDescriptor)id;
 
-      RegressionData regData = LoadData(GetTempFileForResource(descriptor.resourceName));
+      RegressionData regData = LoadData(GetTempFileForResource(descriptor.ResourceName));
       regData.Name = descriptor.Name;
       regData.Description = descriptor.Description;
@@ -36,18 +41,22 @@
     }
 
-    #region Helpers
-    protected static string GetTempFileForResource(string resourceName) {
-      Assembly assembly = Assembly.GetExecutingAssembly();
-      string resource = assembly.GetManifestResourceNames().Where(x => x.EndsWith(resourceName)).First();
-
-      string path = Path.GetTempFileName();
-
-      using (Stream stream = assembly.GetManifestResourceStream(resource)) {
-        WriteStreamToTempFile(stream, path);
-      }
-      return path;
+    protected virtual string GetResourceName(string fileName) {
+      return Assembly.GetExecutingAssembly().GetManifestResourceNames()
+              .Where(x => Regex.Match(x, @".*\.Data\." + fileName).Success).SingleOrDefault();
     }
 
-    private static void WriteStreamToTempFile(Stream stream, string path) {
+    private string GetTempFileForResource(string resourceName) {
+      var instanceArchiveName = GetResourceName(FileExtension + @"\.zip");
+      using (var instancesZipFile = new ZipFile(GetType().Assembly.GetManifestResourceStream(instanceArchiveName))) {
+        var entry = instancesZipFile.GetEntry(resourceName);
+        string path = Path.GetTempFileName();
+        using (var stream = instancesZipFile.GetInputStream(entry)) {
+          WriteStreamToTempFile(stream, path);
+        }
+        return path;
+      }
+    }
+
+    private void WriteStreamToTempFile(Stream stream, string path) {
       using (FileStream output = new FileStream(path, FileMode.Create, FileAccess.Write)) {
         int cnt = 0;
@@ -57,5 +66,4 @@
       }
     }
-    #endregion
   }
 }
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/TrentMcConaghy/TrentMcConaghyInstanceProvider.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/TrentMcConaghy/TrentMcConaghyInstanceProvider.cs	(revision 7666)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/TrentMcConaghy/TrentMcConaghyInstanceProvider.cs	(revision 7666)
@@ -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.IO;
+using System.Linq;
+using ICSharpCode.SharpZipLib.Zip;
+
+namespace HeuristicLab.Problems.Instances.Regression {
+  public class TrentMcConaghyInstanceProvider : ResourceRegressionInstanceProvider {
+    public override string Name {
+      get { return "Trent McConaghy Benchmark Problems"; }
+    }
+    public override string Description {
+      get {
+        return "Paper: Deterministic Symbolic Regression Technology, Genetic Programming Theory and Practice IX" + Environment.NewLine
+          + "High-Dimensional Statistical Modeling and Analysis of Custom Integrated Circuits" + Environment.NewLine
+          + "Authors: T. McConaghy" + Environment.NewLine
+          + "Website: http://trent.st/ffx/";
+      }
+    }
+    public override Uri WebLink {
+      get { return new Uri("http://trent.st/ffx/"); }
+    }
+    public override string ReferencePublication {
+      get { return ""; }
+    }
+
+    protected override string FileExtension { get { return "TrentMcConaghy"; } }
+
+    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
+      var solutionsArchiveName = GetResourceName(FileExtension + @"\.zip");
+      if (!String.IsNullOrEmpty(solutionsArchiveName)) {
+        using (var solutionsZipFile = new ZipInputStream(GetType().Assembly.GetManifestResourceStream(solutionsArchiveName))) {
+          foreach (var entry in GetZipContents(solutionsZipFile).OrderBy(x => x))
+            yield return new ResourceRegressionDataDescriptor(Path.GetFileNameWithoutExtension(entry), Description, entry);
+        }
+      }
+    }
+
+    public override RegressionData LoadData(IDataDescriptor id) {
+      RegressionData regData = base.LoadData(id);
+
+      regData.TargetVariable = regData.InputVariables.First();
+      regData.AllowedInputVariables = regData.InputVariables.Where(x => !x.Equals(regData.TargetVariable));
+
+      return regData;
+    }
+
+    protected IEnumerable<string> GetZipContents(ZipInputStream zipFile) {
+      ZipEntry entry;
+      while ((entry = zipFile.GetNextEntry()) != null) {
+        yield return entry.Name;
+      }
+    }
+  }
+}
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/BreimanOne.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/BreimanOne.cs	(revision 7666)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/BreimanOne.cs	(revision 7666)
@@ -0,0 +1,89 @@
+﻿#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.Random;
+
+namespace HeuristicLab.Problems.Instances.Regression {
+  public class BreimanOne : ArtificialRegressionDataDescriptor {
+
+    public override string Name { get { return "Breiman - I"; } }
+    public override string Description {
+      get {
+        return "Paper: Classification and Regression Trees" + Environment.NewLine
+        + "Authors: Leo Breiman, Jerome H. Friedman, Charles J. Stone and R. A. Olson";
+      }
+    }
+    protected override string TargetVariable { get { return "Y"; } }
+    protected override IEnumerable<string> InputVariables { get { return new List<string>() { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10", "Y" }; } }
+    protected override IEnumerable<string> AllowedInputVariables { get { return new List<string>() { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10" }; } }
+    protected override int TrainingPartitionStart { get { return 0; } }
+    protected override int TrainingPartitionEnd { get { return 5001; } }
+    protected override int TestPartitionStart { get { return 5001; } }
+    protected override int TestPartitionEnd { get { return 10001; } }
+
+    protected static FastRandom rand = new FastRandom();
+
+    protected override double[,] GenerateValues() {
+      List<List<double>> data = new List<List<double>>();
+      List<int> values = new List<int>() { -1, 1 };
+      data.Add(BreimanOne.GenerateUniformIntegerDistribution(values, TestPartitionEnd));
+      values.Add(0);
+      for (int i = 0; i < AllowedInputVariables.Count() - 1; i++) {
+        data.Add(BreimanOne.GenerateUniformIntegerDistribution(values, TestPartitionEnd));
+      }
+
+      double x1, x2, x3, x4, x5, x6, x7;
+      double f;
+      List<double> results = new List<double>();
+      double sigma = Math.Sqrt(2);
+      for (int i = 0; i < data[0].Count; i++) {
+        x1 = data[0][i];
+        x2 = data[1][i];
+        x3 = data[2][i];
+        x4 = data[3][i];
+        x5 = data[4][i];
+        x6 = data[5][i];
+        x7 = data[6][i];
+
+        if (x1.Equals(1))
+          f = 3 + 3 * x2 + 2 * x3 + x4;
+        else
+          f = -3 + 3 * x5 + 2 * x6 + x7;
+
+        results.Add(f + NormalDistributedRandom.NextDouble(rand, 0, sigma));
+      }
+      data.Add(results);
+
+      return ValueGenerator.Transformation(data);
+    }
+
+    public static List<double> GenerateUniformIntegerDistribution(List<int> classes, int amount) {
+      List<double> values = new List<double>();
+      for (int i = 0; i < amount; i++) {
+        values.Add(classes[rand.Next(0, classes.Count)]);
+      }
+      return values;
+    }
+  }
+}
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/PolyTen.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/PolyTen.cs	(revision 7666)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/PolyTen.cs	(revision 7666)
@@ -0,0 +1,74 @@
+﻿#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;
+
+namespace HeuristicLab.Problems.Instances.Regression {
+  public class PolyTen : ArtificialRegressionDataDescriptor {
+
+    public override string Name { get { return "Ploy-10 y = X1*X2 + X3*X4 + X5*X6 + X1*X7*X9 + X3*X6*X10"; } }
+    public override string Description {
+      get {
+        return "Paper: A Simple but Theoretically-motivated Method to Control Bloat in Genetic Programming" + Environment.NewLine
+        + "Authors: Riccardo Poli" + Environment.NewLine
+        + "Function: y = X1*X2 + X3*X4 + X5*X6 + X1*X7*X9 + X3*X6*X10" + Environment.NewLine
+        + "Terminal set: x1, x2, x3, x4, x5, x6, x7, x8, x9, x10" + Environment.NewLine
+        + "Fitness was minus the sum of the absolute values of the errors made over 50 fitness cases. "
+        + "These were generated by randomly assigning values to the variables xiin the range [1, 1].";
+      }
+    }
+    protected override string TargetVariable { get { return "Y"; } }
+    protected override IEnumerable<string> InputVariables { get { return new List<string>() { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10", "Y" }; } }
+    protected override IEnumerable<string> AllowedInputVariables { get { return new List<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 double[,] GenerateValues() {
+      List<List<double>> data = new List<List<double>>();
+      for (int i = 0; i < AllowedInputVariables.Count(); i++) {
+        data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -1, 1));
+      }
+
+      double x1, x2, x3, x4, x5, x6, x7, x8, x9, x10;
+      List<double> results = new List<double>();
+      for (int i = 0; i < data[0].Count; i++) {
+        x1 = data[0][i];
+        x2 = data[1][i];
+        x3 = data[2][i];
+        x4 = data[3][i];
+        x5 = data[4][i];
+        x6 = data[5][i];
+        x7 = data[6][i];
+        x8 = data[7][i];
+        x9 = data[8][i];
+        x10 = data[9][i];
+        results.Add(x1 * x2 + x3 * x4 + x5 * x6 + x1 * x7 * x9 + x3 * x6 * x10);
+      }
+      data.Add(results);
+
+      return ValueGenerator.Transformation(data);
+    }
+  }
+}
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/SpatialCoevolution.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/SpatialCoevolution.cs	(revision 7666)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/SpatialCoevolution.cs	(revision 7666)
@@ -0,0 +1,75 @@
+﻿#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;
+
+namespace HeuristicLab.Problems.Instances.Regression {
+  public class SpatialCoevolution : ArtificialRegressionDataDescriptor {
+
+    public override string Name { get { return "Spatial co-evolution F(x,y) = 1/(1+power(x,-4)) + 1/(1+pow(y,-4))"; } }
+    public override string Description {
+      get {
+        return "Paper: Evolutionary consequences of coevolving targets" + Environment.NewLine
+        + "Authors: Ludo Pagie and Paulien Hogeweg" + Environment.NewLine
+        + "Function: F(x,y) = 1/(1+power(x,-4)) + 1/(1+pow(y,-4))" + Environment.NewLine
+        + "Terminal set: x, y" + Environment.NewLine
+        + "The fitness of a solution is defined as the mean of the absolute differences between "
+        + "the target function and the solution over all problems on the basis of which it is evaluated. "
+        + "A solution is considered completely ’correct’ if, for all 676 problems in the ’complete’ "
+        + "problem set used in the static evaluation scheme, the absolute difference between "
+        + "solution and target function is less than 0:01 (this is a so-called hit).";
+      }
+    }
+    protected override string TargetVariable { get { return "F"; } }
+    protected override IEnumerable<string> InputVariables { get { return new List<string>() { "X", "Y", "F" }; } }
+    protected override IEnumerable<string> AllowedInputVariables { get { return new List<string>() { "X", "Y" }; } }
+    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 double[,] GenerateValues() {
+      List<List<double>> data = new List<List<double>>();
+
+      List<double> oneVariableTestData = ValueGenerator.GenerateSteps(-5, 5, 0.4);
+      List<List<double>> testData = new List<List<double>>() { oneVariableTestData, oneVariableTestData };
+      testData = ValueGenerator.GenerateAllCombinationsOfValuesInLists(testData);
+
+      for (int i = 0; i < AllowedInputVariables.Count(); i++) {
+        data.Add(ValueGenerator.GenerateUniformDistributedValues(1000, -5, 5));
+        data[i].AddRange(testData[i]);
+      }
+
+      double x, y;
+      List<double> results = new List<double>();
+      for (int i = 0; i < data[0].Count; i++) {
+        x = data[0][i];
+        y = data[1][i];
+        results.Add(1 / (1 + Math.Pow(x, -4)) + 1 / (1 + Math.Pow(y, -4)));
+      }
+      data.Add(results);
+
+      return ValueGenerator.Transformation(data);
+    }
+  }
+}
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/VariousInstanceProvider.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/VariousInstanceProvider.cs	(revision 7666)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Various/VariousInstanceProvider.cs	(revision 7666)
@@ -0,0 +1,48 @@
+﻿#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;
+
+namespace HeuristicLab.Problems.Instances.Regression {
+  public class VariousInstanceProvider : ArtificialRegressionInstanceProvider {
+    public override string Name {
+      get { return "Various Benchmark Problems"; }
+    }
+    public override string Description {
+      get { return ""; }
+    }
+    public override Uri WebLink {
+      get { return null; }
+    }
+    public override string ReferencePublication {
+      get { return ""; }
+    }
+
+    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
+      List<IDataDescriptor> descriptorList = new List<IDataDescriptor>();
+      descriptorList.Add(new BreimanOne());
+      descriptorList.Add(new PolyTen());
+      descriptorList.Add(new SpatialCoevolution());
+      return descriptorList;
+    }
+  }
+}
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Vladislavleva/KotanchekFunction.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Vladislavleva/KotanchekFunction.cs	(revision 7665)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Regression/3.4/Vladislavleva/KotanchekFunction.cs	(revision 7666)
@@ -57,5 +57,4 @@
       }
 
-
       double x1, x2;
       List<double> results = new List<double>();
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Views/3.4/Plugin.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Views/3.4/Plugin.cs	(revision 7665)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Views/3.4/Plugin.cs	(revision 7666)
@@ -23,5 +23,5 @@
 
 namespace HeuristicLab.Problems.Instances.Views {
-  [Plugin("HeuristicLab.Problems.Instances.Views", "3.4.0.7664")]
+  [Plugin("HeuristicLab.Problems.Instances.Views", "3.4.0.7665")]
   [PluginFile("HeuristicLab.Problems.Instances.Views-3.4.dll", PluginFileType.Assembly)]
   [PluginDependency("HeuristicLab.Common", "3.3")]
Index: /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Views/3.4/Properties/AssemblyInfo.cs
===================================================================
--- /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Views/3.4/Properties/AssemblyInfo.cs	(revision 7665)
+++ /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.Instances.Views/3.4/Properties/AssemblyInfo.cs	(revision 7666)
@@ -53,3 +53,3 @@
 // by using the '*' as shown below:
 [assembly: AssemblyVersion("3.4.0.0")]
-[assembly: AssemblyFileVersion("3.4.2.7664")]
+[assembly: AssemblyFileVersion("3.4.2.7665")]
