Index: /trunk/sources/HeuristicLab.GP.Algorithms/3.2/AlgorithmBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.Algorithms/3.2/AlgorithmBase.cs	(revision 2360)
+++ /trunk/sources/HeuristicLab.GP.Algorithms/3.2/AlgorithmBase.cs	(revision 2361)
@@ -132,6 +132,7 @@
     protected internal virtual CombinedOperator CreateAlgorithm() {
       CombinedOperator algo = new CombinedOperator();
-      algo.Name = "GP";
-      SequentialProcessor seq = new SequentialProcessor();
+      algo.Name = Name;
+      SequentialProcessor seq = new SequentialProcessor();
+      seq.Name = Name;
       IOperator init = CreateInitializationOperator();
       init.AddSubOperator(CreateProblemInjector());
Index: /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/HeuristicLab.GP.StructureIdentification.Classification-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/HeuristicLab.GP.StructureIdentification.Classification-3.3.csproj	(revision 2360)
+++ /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/HeuristicLab.GP.StructureIdentification.Classification-3.3.csproj	(revision 2361)
@@ -86,8 +86,8 @@
     <Compile Include="MulticlassModeller.cs" />
     <Compile Include="MulticlassOneVsOneAnalyzer.cs" />
-    <Compile Include="OffspringSelectionGP.cs" />
+    <Compile Include="OffspringSelectionGPClassification.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="ROCAnalyzer.cs" />
-    <Compile Include="StandardGP.cs" />
+    <Compile Include="StandardGPClassification.cs" />
   </ItemGroup>
   <ItemGroup>
Index: unk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGP.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGP.cs	(revision 2360)
+++ 	(revision )
@@ -1,55 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 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 HeuristicLab.Core;
-using HeuristicLab.Modeling;
-using HeuristicLab.Operators;
-using HeuristicLab.Data;
-
-namespace HeuristicLab.GP.StructureIdentification.Classification {
-  public class OffspringSelectionGP : HeuristicLab.GP.StructureIdentification.OffspringSelectionGP, IClassificationAlgorithm {
-
-    public override string Name {
-      get {
-        return base.Name + " - Classification";
-      }
-    }
-
-    protected override IOperator CreateProblemInjector() {
-      return DefaultClassificationOperators.CreateProblemInjector();
-    }
-
-    protected override IOperator CreateModelAnalyzerOperator() {
-      return DefaultClassificationOperators.CreatePostProcessingOperator();
-    }
-
-    protected virtual IAnalyzerModel CreateGPModel() {
-      IScope bestModelScope = Engine.GlobalScope.SubScopes[0];
-      var model = new AnalyzerModel();
-
-      model.SetMetaData("SelectionPressure", bestModelScope.GetVariableValue<DoubleData>("SelectionPressure", false).Data);
-      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
-      DefaultClassificationOperators.PopulateAnalyzerModel(bestModelScope, model);
-
-      return model;
-    }
-  }
-}
Index: /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGPClassification.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGPClassification.cs	(revision 2361)
+++ /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGPClassification.cs	(revision 2361)
@@ -0,0 +1,55 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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 HeuristicLab.Core;
+using HeuristicLab.Modeling;
+using HeuristicLab.Operators;
+using HeuristicLab.Data;
+
+namespace HeuristicLab.GP.StructureIdentification.Classification {
+  public class OffspringSelectionGPClassification : HeuristicLab.GP.StructureIdentification.OffspringSelectionGPRegression, IClassificationAlgorithm {
+
+    public override string Name {
+      get {
+        return base.Name + " - Classification";
+      }
+    }
+
+    protected override IOperator CreateProblemInjector() {
+      return DefaultClassificationOperators.CreateProblemInjector();
+    }
+
+    protected override IOperator CreateModelAnalyzerOperator() {
+      return DefaultClassificationOperators.CreatePostProcessingOperator();
+    }
+
+    protected virtual IAnalyzerModel CreateGPModel() {
+      IScope bestModelScope = Engine.GlobalScope.SubScopes[0];
+      var model = new AnalyzerModel();
+
+      model.SetMetaData("SelectionPressure", bestModelScope.GetVariableValue<DoubleData>("SelectionPressure", false).Data);
+      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
+      DefaultClassificationOperators.PopulateAnalyzerModel(bestModelScope, model);
+
+      return model;
+    }
+  }
+}
Index: unk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/StandardGP.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/StandardGP.cs	(revision 2360)
+++ 	(revision )
@@ -1,52 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 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 HeuristicLab.Core;
-using HeuristicLab.Modeling;
-using HeuristicLab.Operators;
-using System;
-
-namespace HeuristicLab.GP.StructureIdentification.Classification {
-  public class StandardGP : HeuristicLab.GP.StructureIdentification.StandardGP, IClassificationAlgorithm {
-    public override string Name {
-      get {
-        return base.Name + " - Classification";
-      }
-    }
-
-    protected override IOperator CreateProblemInjector() {
-      return DefaultClassificationOperators.CreateProblemInjector();
-    }
-
-    protected override IOperator CreateModelAnalyzerOperator() {
-      return DefaultClassificationOperators.CreatePostProcessingOperator();
-    }
-
-    protected override IAnalyzerModel CreateGPModel() {
-      var model = new AnalyzerModel();
-      var bestModelScope = Engine.GlobalScope.SubScopes[0];
-      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
-      DefaultClassificationOperators.PopulateAnalyzerModel(bestModelScope, model);
-      return model;
-    }
-  }
-}
-
Index: /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/StandardGPClassification.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/StandardGPClassification.cs	(revision 2361)
+++ /trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/StandardGPClassification.cs	(revision 2361)
@@ -0,0 +1,52 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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 HeuristicLab.Core;
+using HeuristicLab.Modeling;
+using HeuristicLab.Operators;
+using System;
+
+namespace HeuristicLab.GP.StructureIdentification.Classification {
+  public class StandardGPClassification : HeuristicLab.GP.StructureIdentification.StandardGPRegression, IClassificationAlgorithm {
+    public override string Name {
+      get {
+        return base.Name + " - Classification";
+      }
+    }
+
+    protected override IOperator CreateProblemInjector() {
+      return DefaultClassificationOperators.CreateProblemInjector();
+    }
+
+    protected override IOperator CreateModelAnalyzerOperator() {
+      return DefaultClassificationOperators.CreatePostProcessingOperator();
+    }
+
+    protected override IAnalyzerModel CreateGPModel() {
+      var model = new AnalyzerModel();
+      var bestModelScope = Engine.GlobalScope.SubScopes[0];
+      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
+      DefaultClassificationOperators.PopulateAnalyzerModel(bestModelScope, model);
+      return model;
+    }
+  }
+}
+
Index: /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/HeuristicLab.GP.StructureIdentification.TimeSeries-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/HeuristicLab.GP.StructureIdentification.TimeSeries-3.3.csproj	(revision 2360)
+++ /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/HeuristicLab.GP.StructureIdentification.TimeSeries-3.3.csproj	(revision 2361)
@@ -84,8 +84,8 @@
     <Compile Include="AveragePercentageChangeEvaluator.cs" />
     <Compile Include="HeuristicLabGPTimeSeriesPlugin.cs" />
-    <Compile Include="OffspringSelectionGP.cs" />
+    <Compile Include="OffspringSelectionGPTimeSeriesPrognosis.cs" />
     <Compile Include="ProfitEvaluator.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="StandardGP.cs" />
+    <Compile Include="StandardGPTimeSeriesPrognosis.cs" />
   </ItemGroup>
   <ItemGroup>
Index: unk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/OffspringSelectionGP.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/OffspringSelectionGP.cs	(revision 2360)
+++ 	(revision )
@@ -1,90 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 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 HeuristicLab.Core;
-using HeuristicLab.Modeling;
-using HeuristicLab.Operators;
-using System;
-using HeuristicLab.Data;
-using HeuristicLab.GP.Algorithms;
-
-namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
-  public class OffspringSelectionGP : HeuristicLab.GP.StructureIdentification.OffspringSelectionGP, ITimeSeriesAlgorithm {
-    public override string Name {
-      get {
-        return base.Name + " - time series prognosis";
-      }
-    }
-
-    public int MinTimeOffset {
-      get { return GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data; }
-      set { GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data = value; }
-    }
-
-    public int MaxTimeOffset {
-      get { return GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data; }
-      set { GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data = value; }
-    }
-
-    public bool UseEstimatedTargetValue {
-      get { return GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data; }
-      set { GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data = value; }
-    }
-
-    protected override IOperator CreateProblemInjector() {
-      return DefaultTimeSeriesOperators.CreateProblemInjector();
-    }
-
-    protected override IOperator CreateFunctionLibraryInjector() {
-      CombinedOperator op = new CombinedOperator();
-      op.Name = "FunctionLibraryInjector";
-      SequentialProcessor seq = new SequentialProcessor();
-      FunctionLibraryInjector funLibInjector = new FunctionLibraryInjector();
-      funLibInjector.GetVariable("Differentials").Value = new BoolData(true);
-      seq.AddSubOperator(funLibInjector);
-      seq.AddSubOperator(new HL3TreeEvaluatorInjector());
-      op.OperatorGraph.AddOperator(seq);
-      op.OperatorGraph.InitialOperator = seq;
-      return op;
-    }
-
-    protected override VariableInjector CreateGlobalInjector() {
-      VariableInjector injector = base.CreateGlobalInjector();
-      injector.AddVariable(new HeuristicLab.Core.Variable("MinTimeOffset", new IntData()));
-      injector.AddVariable(new HeuristicLab.Core.Variable("MaxTimeOffset", new IntData()));
-      injector.AddVariable(new HeuristicLab.Core.Variable("UseEstimatedTargetValue", new BoolData()));
-      return injector;
-    }
-
-    protected override IOperator CreateModelAnalyzerOperator() {
-      return DefaultTimeSeriesOperators.CreatePostProcessingOperator();
-    }
-
-    protected override IAnalyzerModel CreateGPModel() {
-      var model = new AnalyzerModel();
-      var bestModelScope = Engine.GlobalScope.SubScopes[0];
-      model.SetMetaData("SelectionPressure", bestModelScope.GetVariableValue<DoubleData>("SelectionPressure", false).Data);
-      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
-      DefaultTimeSeriesOperators.PopulateAnalyzerModel(bestModelScope, model);
-      return model;
-    }
-  }
-}
Index: /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/OffspringSelectionGPTimeSeriesPrognosis.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/OffspringSelectionGPTimeSeriesPrognosis.cs	(revision 2361)
+++ /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/OffspringSelectionGPTimeSeriesPrognosis.cs	(revision 2361)
@@ -0,0 +1,90 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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 HeuristicLab.Core;
+using HeuristicLab.Modeling;
+using HeuristicLab.Operators;
+using System;
+using HeuristicLab.Data;
+using HeuristicLab.GP.Algorithms;
+
+namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
+  public class OffspringSelectionGPTimeSeriesPrognosis : HeuristicLab.GP.StructureIdentification.OffspringSelectionGPRegression, ITimeSeriesAlgorithm {
+    public override string Name {
+      get {
+        return base.Name + " - time series prognosis";
+      }
+    }
+
+    public int MinTimeOffset {
+      get { return GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data; }
+      set { GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data = value; }
+    }
+
+    public int MaxTimeOffset {
+      get { return GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data; }
+      set { GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data = value; }
+    }
+
+    public bool UseEstimatedTargetValue {
+      get { return GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data; }
+      set { GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data = value; }
+    }
+
+    protected override IOperator CreateProblemInjector() {
+      return DefaultTimeSeriesOperators.CreateProblemInjector();
+    }
+
+    protected override IOperator CreateFunctionLibraryInjector() {
+      CombinedOperator op = new CombinedOperator();
+      op.Name = "FunctionLibraryInjector";
+      SequentialProcessor seq = new SequentialProcessor();
+      FunctionLibraryInjector funLibInjector = new FunctionLibraryInjector();
+      funLibInjector.GetVariable("Differentials").Value = new BoolData(true);
+      seq.AddSubOperator(funLibInjector);
+      seq.AddSubOperator(new HL3TreeEvaluatorInjector());
+      op.OperatorGraph.AddOperator(seq);
+      op.OperatorGraph.InitialOperator = seq;
+      return op;
+    }
+
+    protected override VariableInjector CreateGlobalInjector() {
+      VariableInjector injector = base.CreateGlobalInjector();
+      injector.AddVariable(new HeuristicLab.Core.Variable("MinTimeOffset", new IntData()));
+      injector.AddVariable(new HeuristicLab.Core.Variable("MaxTimeOffset", new IntData()));
+      injector.AddVariable(new HeuristicLab.Core.Variable("UseEstimatedTargetValue", new BoolData()));
+      return injector;
+    }
+
+    protected override IOperator CreateModelAnalyzerOperator() {
+      return DefaultTimeSeriesOperators.CreatePostProcessingOperator();
+    }
+
+    protected override IAnalyzerModel CreateGPModel() {
+      var model = new AnalyzerModel();
+      var bestModelScope = Engine.GlobalScope.SubScopes[0];
+      model.SetMetaData("SelectionPressure", bestModelScope.GetVariableValue<DoubleData>("SelectionPressure", false).Data);
+      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
+      DefaultTimeSeriesOperators.PopulateAnalyzerModel(bestModelScope, model);
+      return model;
+    }
+  }
+}
Index: unk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/StandardGP.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/StandardGP.cs	(revision 2360)
+++ 	(revision )
@@ -1,89 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 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 HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Logging;
-using HeuristicLab.Modeling;
-using HeuristicLab.Operators;
-using System;
-
-namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
-  public class StandardGP : HeuristicLab.GP.StructureIdentification.StandardGP, ITimeSeriesAlgorithm {
-    public override string Name {
-      get {
-        return base.Name + " - time series prognosis";
-      }
-    }
-
-    public int MinTimeOffset {
-      get { return GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data; }
-      set { GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data = value; }
-    }
-
-    public int MaxTimeOffset {
-      get { return GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data; }
-      set { GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data = value; }
-    }
-
-    public bool UseEstimatedTargetValue {
-      get { return GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data; }
-      set { GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data = value; }
-    }
-
-    protected override IOperator CreateProblemInjector() {
-      return DefaultTimeSeriesOperators.CreateProblemInjector();
-    }
-
-    protected override IOperator CreateFunctionLibraryInjector() {
-      CombinedOperator op = new CombinedOperator();
-      op.Name = "FunctionLibraryInjector";
-      SequentialProcessor seq = new SequentialProcessor();
-      FunctionLibraryInjector funLibInjector = new FunctionLibraryInjector();
-      funLibInjector.GetVariable("Differentials").Value = new BoolData(true);
-      seq.AddSubOperator(funLibInjector);
-      seq.AddSubOperator(new HL3TreeEvaluatorInjector());
-      op.OperatorGraph.AddOperator(seq);
-      op.OperatorGraph.InitialOperator = seq;
-      return op;
-    }
-
-    protected override IOperator CreateModelAnalyzerOperator() {
-      return DefaultTimeSeriesOperators.CreatePostProcessingOperator();
-    }
-
-    protected override VariableInjector CreateGlobalInjector() {
-      VariableInjector injector = base.CreateGlobalInjector();
-      injector.AddVariable(new HeuristicLab.Core.Variable("MinTimeOffset", new IntData()));
-      injector.AddVariable(new HeuristicLab.Core.Variable("MaxTimeOffset", new IntData()));
-      injector.AddVariable(new HeuristicLab.Core.Variable("UseEstimatedTargetValue", new BoolData()));
-      return injector;
-    }
-
-    protected override IAnalyzerModel CreateGPModel() {
-      var model = new AnalyzerModel();
-      var bestModelScope = Engine.GlobalScope.SubScopes[0];
-      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
-      DefaultTimeSeriesOperators.PopulateAnalyzerModel(bestModelScope, model);
-      return model;
-    }
-  }
-}
Index: /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/StandardGPTimeSeriesPrognosis.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/StandardGPTimeSeriesPrognosis.cs	(revision 2361)
+++ /trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/3.3/StandardGPTimeSeriesPrognosis.cs	(revision 2361)
@@ -0,0 +1,89 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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 HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Logging;
+using HeuristicLab.Modeling;
+using HeuristicLab.Operators;
+using System;
+
+namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
+  public class StandardGPTimeSeriesPrognosis : HeuristicLab.GP.StructureIdentification.StandardGPRegression, ITimeSeriesAlgorithm {
+    public override string Name {
+      get {
+        return base.Name + " - time series prognosis";
+      }
+    }
+
+    public int MinTimeOffset {
+      get { return GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data; }
+      set { GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data = value; }
+    }
+
+    public int MaxTimeOffset {
+      get { return GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data; }
+      set { GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data = value; }
+    }
+
+    public bool UseEstimatedTargetValue {
+      get { return GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data; }
+      set { GetVariableInjector().GetVariable("UseEstimatedTargetValue").GetValue<BoolData>().Data = value; }
+    }
+
+    protected override IOperator CreateProblemInjector() {
+      return DefaultTimeSeriesOperators.CreateProblemInjector();
+    }
+
+    protected override IOperator CreateFunctionLibraryInjector() {
+      CombinedOperator op = new CombinedOperator();
+      op.Name = "FunctionLibraryInjector";
+      SequentialProcessor seq = new SequentialProcessor();
+      FunctionLibraryInjector funLibInjector = new FunctionLibraryInjector();
+      funLibInjector.GetVariable("Differentials").Value = new BoolData(true);
+      seq.AddSubOperator(funLibInjector);
+      seq.AddSubOperator(new HL3TreeEvaluatorInjector());
+      op.OperatorGraph.AddOperator(seq);
+      op.OperatorGraph.InitialOperator = seq;
+      return op;
+    }
+
+    protected override IOperator CreateModelAnalyzerOperator() {
+      return DefaultTimeSeriesOperators.CreatePostProcessingOperator();
+    }
+
+    protected override VariableInjector CreateGlobalInjector() {
+      VariableInjector injector = base.CreateGlobalInjector();
+      injector.AddVariable(new HeuristicLab.Core.Variable("MinTimeOffset", new IntData()));
+      injector.AddVariable(new HeuristicLab.Core.Variable("MaxTimeOffset", new IntData()));
+      injector.AddVariable(new HeuristicLab.Core.Variable("UseEstimatedTargetValue", new BoolData()));
+      return injector;
+    }
+
+    protected override IAnalyzerModel CreateGPModel() {
+      var model = new AnalyzerModel();
+      var bestModelScope = Engine.GlobalScope.SubScopes[0];
+      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
+      DefaultTimeSeriesOperators.PopulateAnalyzerModel(bestModelScope, model);
+      return model;
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/HeuristicLab.GP.StructureIdentification-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/HeuristicLab.GP.StructureIdentification-3.3.csproj	(revision 2360)
+++ /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/HeuristicLab.GP.StructureIdentification-3.3.csproj	(revision 2361)
@@ -87,5 +87,5 @@
     <Compile Include="HL3TreeEvaluatorInjector.cs" />
     <Compile Include="HL2TreeEvaluatorInjector.cs" />
-    <Compile Include="OffspringSelectionGP.cs" />
+    <Compile Include="OffspringSelectionGPRegression.cs" />
     <Compile Include="PredictorBuilder.cs" />
     <Compile Include="Predictor.cs" />
@@ -98,7 +98,5 @@
       <DependentUpon>PredictorView.cs</DependentUpon>
     </Compile>
-    <Compile Include="StandardGP.cs">
-      <SubType>Code</SubType>
-    </Compile>
+    <Compile Include="StandardGPRegression.cs" />
     <Compile Include="Symbols\Addition.cs" />
     <Compile Include="Symbols\And.cs" />
Index: unk/sources/HeuristicLab.GP.StructureIdentification/3.3/OffspringSelectionGP.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/OffspringSelectionGP.cs	(revision 2360)
+++ 	(revision )
@@ -1,177 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 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 HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Evolutionary;
-using HeuristicLab.Logging;
-using HeuristicLab.Operators;
-using HeuristicLab.Selection;
-using HeuristicLab.Selection.OffspringSelection;
-using HeuristicLab.Modeling;
-using HeuristicLab.DataAnalysis;
-
-namespace HeuristicLab.GP.StructureIdentification {
-  public class OffspringSelectionGP : HeuristicLab.GP.Algorithms.OffspringSelectionGP, IAlgorithm {
-    public override string Name { get { return "OffspringSelectionGP - StructureIdentification"; } }
-
-    public virtual int TargetVariable {
-      get { return ProblemInjector.GetVariableValue<IntData>("TargetVariable", null, false).Data; }
-      set { ProblemInjector.GetVariableValue<IntData>("TargetVariable", null, false).Data = value; }
-    }
-
-    public virtual Dataset Dataset {
-      get { return ProblemInjector.GetVariableValue<Dataset>("Dataset", null, false); }
-      set { ProblemInjector.GetVariable("Dataset").Value = value; }
-    }
-
-    public virtual IAnalyzerModel Model {
-      get {
-        if (!Engine.Terminated)
-          throw new InvalidOperationException("The algorithm is still running. Wait until the algorithm is terminated to retrieve the result.");
-        else
-          return CreateGPModel();
-      }
-    }
-
-    public virtual double PunishmentFactor {
-      get { return GetVariableInjector().GetVariable("PunishmentFactor").GetValue<DoubleData>().Data; }
-      set { GetVariableInjector().GetVariable("PunishmentFactor").GetValue<DoubleData>().Data = value; }
-    }
-
-    public override IOperator ProblemInjector {
-      get { return GetProblemInjector().OperatorGraph.InitialOperator.SubOperators[0]; }
-      set {
-        value.Name = "ProblemInjector";
-        CombinedOperator problemInjector = GetProblemInjector();
-        problemInjector.OperatorGraph.RemoveOperator(ProblemInjector.Guid);
-        problemInjector.OperatorGraph.AddOperator(value);
-        problemInjector.OperatorGraph.InitialOperator.AddSubOperator(value, 0);
-      }
-    }
-
-    public OffspringSelectionGP()
-      : base() {
-      PunishmentFactor = 10.0;
-    }
-
-    protected override IOperator CreateFunctionLibraryInjector() {
-      return DefaultStructureIdentificationOperators.CreateFunctionLibraryInjector();
-    }
-
-    protected override IOperator CreateProblemInjector() {
-      return DefaultRegressionOperators.CreateProblemInjector();
-    }
-
-    protected override IOperator CreateInitialPopulationEvaluator() {
-      return DefaultStructureIdentificationOperators.CreateInitialPopulationEvaluator();
-    }
-
-    protected override IOperator CreateEvaluationOperator() {
-      return DefaultStructureIdentificationOperators.CreateEvaluator();
-    }
-
-
-    protected override IOperator CreateGenerationStepHook() {
-      return DefaultStructureIdentificationOperators.CreateGenerationStepHook();
-    }
-
-    protected override VariableInjector CreateGlobalInjector() {
-      VariableInjector injector = base.CreateGlobalInjector();
-      injector.AddVariable(new HeuristicLab.Core.Variable("PunishmentFactor", new DoubleData()));
-      return injector;
-    }
-
-
-    protected override IOperator CreateLoggingOperator() {
-      CombinedOperator loggingOperator = new CombinedOperator();
-      loggingOperator.Name = "Logging";
-      SequentialProcessor seq = new SequentialProcessor();
-
-      DataCollector collector = new DataCollector();
-      ItemList<StringData> names = collector.GetVariable("VariableNames").GetValue<ItemList<StringData>>();
-      names.Add(new StringData("BestQuality"));
-      names.Add(new StringData("AverageQuality"));
-      names.Add(new StringData("WorstQuality"));
-      names.Add(new StringData("BestValidationQuality"));
-      names.Add(new StringData("AverageValidationQuality"));
-      names.Add(new StringData("WorstValidationQuality"));
-      names.Add(new StringData("EvaluatedSolutions"));
-      names.Add(new StringData("SelectionPressure"));
-      QualityLogger qualityLogger = new QualityLogger();
-      QualityLogger validationQualityLogger = new QualityLogger();
-      validationQualityLogger.GetVariableInfo("Quality").ActualName = "ValidationQuality";
-      validationQualityLogger.GetVariableInfo("QualityLog").ActualName = "ValidationQualityLog";
-      seq.AddSubOperator(collector);
-      seq.AddSubOperator(qualityLogger);
-      seq.AddSubOperator(validationQualityLogger);
-
-      loggingOperator.OperatorGraph.AddOperator(seq);
-      loggingOperator.OperatorGraph.InitialOperator = seq;
-      return loggingOperator;
-    }
-
-    protected override IOperator CreatePostProcessingOperator() {
-      CombinedOperator op = new CombinedOperator();
-      op.Name = "ModelAnalyser";
-      SequentialProcessor seq = new SequentialProcessor();
-      seq.AddSubOperator(DefaultStructureIdentificationOperators.CreatePreparationForPostProcessingOperator());
-
-      UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor();
-      SequentialProcessor solutionProc = new SequentialProcessor();
-      solutionProc.AddSubOperator(CreateModelAnalyzerOperator());
-
-      subScopesProc.AddSubOperator(solutionProc);
-      seq.AddSubOperator(subScopesProc);
-
-      op.OperatorGraph.AddOperator(seq);
-      op.OperatorGraph.InitialOperator = seq;
-      return op;
-    }
-
-    protected virtual IOperator CreateModelAnalyzerOperator() {
-      return DefaultRegressionOperators.CreatePostProcessingOperator();
-    }
-
-    public override object Clone(IDictionary<Guid, object> clonedObjects) {
-      OffspringSelectionGP clone = (OffspringSelectionGP)base.Clone(clonedObjects);
-      clone.PunishmentFactor = PunishmentFactor;
-      return clone;
-    }
-
-    protected CombinedOperator GetProblemInjector() {
-      return (CombinedOperator)GetInitializationOperator().SubOperators[0];
-    }
-
-    protected virtual IAnalyzerModel CreateGPModel() {
-      IScope bestModelScope = Engine.GlobalScope.SubScopes[0];
-      var model = new AnalyzerModel();
-
-      model.SetMetaData("SelectionPressure", bestModelScope.GetVariableValue<DoubleData>("SelectionPressure", false).Data);
-      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
-      DefaultRegressionOperators.PopulateAnalyzerModel(bestModelScope, model);
-
-      return model;
-    }
-  }
-}
Index: /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/OffspringSelectionGPRegression.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/OffspringSelectionGPRegression.cs	(revision 2361)
+++ /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/OffspringSelectionGPRegression.cs	(revision 2361)
@@ -0,0 +1,171 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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 HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Evolutionary;
+using HeuristicLab.Logging;
+using HeuristicLab.Operators;
+using HeuristicLab.Selection;
+using HeuristicLab.Selection.OffspringSelection;
+using HeuristicLab.Modeling;
+using HeuristicLab.DataAnalysis;
+
+namespace HeuristicLab.GP.StructureIdentification {
+  public class OffspringSelectionGPRegression : HeuristicLab.GP.Algorithms.OffspringSelectionGP, IAlgorithm {
+    public override string Name { get { return "OffspringSelectionGP - StructureIdentification"; } }
+
+    public virtual int TargetVariable {
+      get { return ProblemInjector.GetVariableValue<IntData>("TargetVariable", null, false).Data; }
+      set { ProblemInjector.GetVariableValue<IntData>("TargetVariable", null, false).Data = value; }
+    }
+
+    public virtual Dataset Dataset {
+      get { return ProblemInjector.GetVariableValue<Dataset>("Dataset", null, false); }
+      set { ProblemInjector.GetVariable("Dataset").Value = value; }
+    }
+
+    public virtual IAnalyzerModel Model {
+      get {
+        if (!Engine.Terminated)
+          throw new InvalidOperationException("The algorithm is still running. Wait until the algorithm is terminated to retrieve the result.");
+        else
+          return CreateGPModel();
+      }
+    }
+
+    public virtual double PunishmentFactor {
+      get { return GetVariableInjector().GetVariable("PunishmentFactor").GetValue<DoubleData>().Data; }
+      set { GetVariableInjector().GetVariable("PunishmentFactor").GetValue<DoubleData>().Data = value; }
+    }
+
+    public override IOperator ProblemInjector {
+      get { return GetProblemInjector().OperatorGraph.InitialOperator.SubOperators[0]; }
+      set {
+        value.Name = "ProblemInjector";
+        CombinedOperator problemInjector = GetProblemInjector();
+        problemInjector.OperatorGraph.RemoveOperator(ProblemInjector.Guid);
+        problemInjector.OperatorGraph.AddOperator(value);
+        problemInjector.OperatorGraph.InitialOperator.AddSubOperator(value, 0);
+      }
+    }
+
+    public OffspringSelectionGPRegression()
+      : base() {
+      PunishmentFactor = 10.0;
+    }
+
+    protected override IOperator CreateFunctionLibraryInjector() {
+      return DefaultStructureIdentificationOperators.CreateFunctionLibraryInjector();
+    }
+
+    protected override IOperator CreateProblemInjector() {
+      return DefaultRegressionOperators.CreateProblemInjector();
+    }
+
+    protected override IOperator CreateInitialPopulationEvaluator() {
+      return DefaultStructureIdentificationOperators.CreateInitialPopulationEvaluator();
+    }
+
+    protected override IOperator CreateEvaluationOperator() {
+      return DefaultStructureIdentificationOperators.CreateEvaluator();
+    }
+
+
+    protected override IOperator CreateGenerationStepHook() {
+      return DefaultStructureIdentificationOperators.CreateGenerationStepHook();
+    }
+
+    protected override VariableInjector CreateGlobalInjector() {
+      VariableInjector injector = base.CreateGlobalInjector();
+      injector.AddVariable(new HeuristicLab.Core.Variable("PunishmentFactor", new DoubleData()));
+      return injector;
+    }
+
+
+    protected override IOperator CreateLoggingOperator() {
+      CombinedOperator loggingOperator = new CombinedOperator();
+      loggingOperator.Name = "Logging";
+      SequentialProcessor seq = new SequentialProcessor();
+
+      DataCollector collector = new DataCollector();
+      ItemList<StringData> names = collector.GetVariable("VariableNames").GetValue<ItemList<StringData>>();
+      names.Add(new StringData("BestQuality"));
+      names.Add(new StringData("AverageQuality"));
+      names.Add(new StringData("WorstQuality"));
+      names.Add(new StringData("BestValidationQuality"));
+      names.Add(new StringData("AverageValidationQuality"));
+      names.Add(new StringData("WorstValidationQuality"));
+      names.Add(new StringData("EvaluatedSolutions"));
+      names.Add(new StringData("SelectionPressure"));
+      QualityLogger qualityLogger = new QualityLogger();
+      QualityLogger validationQualityLogger = new QualityLogger();
+      validationQualityLogger.GetVariableInfo("Quality").ActualName = "ValidationQuality";
+      validationQualityLogger.GetVariableInfo("QualityLog").ActualName = "ValidationQualityLog";
+      seq.AddSubOperator(collector);
+      seq.AddSubOperator(qualityLogger);
+      seq.AddSubOperator(validationQualityLogger);
+
+      loggingOperator.OperatorGraph.AddOperator(seq);
+      loggingOperator.OperatorGraph.InitialOperator = seq;
+      return loggingOperator;
+    }
+
+    protected override IOperator CreatePostProcessingOperator() {
+      CombinedOperator op = new CombinedOperator();
+      op.Name = "ModelAnalyser";
+      SequentialProcessor seq = new SequentialProcessor();
+      seq.AddSubOperator(DefaultStructureIdentificationOperators.CreatePreparationForPostProcessingOperator());
+
+      UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor();
+      SequentialProcessor solutionProc = new SequentialProcessor();
+      solutionProc.AddSubOperator(CreateModelAnalyzerOperator());
+
+      subScopesProc.AddSubOperator(solutionProc);
+      seq.AddSubOperator(subScopesProc);
+
+      op.OperatorGraph.AddOperator(seq);
+      op.OperatorGraph.InitialOperator = seq;
+      return op;
+    }
+
+    protected virtual IOperator CreateModelAnalyzerOperator() {
+      return DefaultRegressionOperators.CreatePostProcessingOperator();
+    }
+
+    protected CombinedOperator GetProblemInjector() {
+      return (CombinedOperator)GetInitializationOperator().SubOperators[0];
+    }
+
+    protected virtual IAnalyzerModel CreateGPModel() {
+      IScope bestModelScope = Engine.GlobalScope.SubScopes[0];
+      var model = new AnalyzerModel();
+
+      model.SetMetaData("SelectionPressure", bestModelScope.GetVariableValue<DoubleData>("SelectionPressure", false).Data);
+      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
+      DefaultRegressionOperators.PopulateAnalyzerModel(bestModelScope, model);
+
+      return model;
+    }
+  }
+}
Index: unk/sources/HeuristicLab.GP.StructureIdentification/3.3/StandardGP.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/StandardGP.cs	(revision 2360)
+++ 	(revision )
@@ -1,173 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 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 HeuristicLab.Core;
-using HeuristicLab.Operators;
-using HeuristicLab.Selection;
-using HeuristicLab.Logging;
-using HeuristicLab.Data;
-using HeuristicLab.GP.Operators;
-using HeuristicLab.Modeling;
-using System.Collections.Generic;
-using System;
-using HeuristicLab.DataAnalysis;
-
-namespace HeuristicLab.GP.StructureIdentification {
-  public class StandardGP : HeuristicLab.GP.Algorithms.StandardGP, IAlgorithm {
-
-    public override string Name { get { return "StandardGP - StructureIdentification"; } }
-
-    public virtual int TargetVariable {
-      get { return ProblemInjector.GetVariableValue<IntData>("TargetVariable", null, false).Data; }
-      set { ProblemInjector.GetVariableValue<IntData>("TargetVariable", null, false).Data = value; }
-    }
-
-    public virtual Dataset Dataset {
-      get { return ProblemInjector.GetVariableValue<Dataset>("Dataset", null, false); }
-      set { ProblemInjector.GetVariable("Dataset").Value = value; }
-    }
-
-    public virtual IAnalyzerModel Model {
-      get {
-        if (!Engine.Terminated)
-          throw new InvalidOperationException("The algorithm is still running. Wait until the algorithm is terminated to retrieve the result.");
-        else
-          return CreateGPModel();
-      }
-    }
-
-    public virtual double PunishmentFactor {
-      get { return GetVariableInjector().GetVariable("PunishmentFactor").GetValue<DoubleData>().Data; }
-      set { GetVariableInjector().GetVariable("PunishmentFactor").GetValue<DoubleData>().Data = value; }
-    }
-
-    public override IOperator ProblemInjector {
-      get { return GetProblemInjector().OperatorGraph.InitialOperator.SubOperators[0]; }
-      set {
-        value.Name = "ProblemInjector";
-        CombinedOperator problemInjector = GetProblemInjector();
-        problemInjector.OperatorGraph.RemoveOperator(ProblemInjector.Guid);
-        problemInjector.OperatorGraph.AddOperator(value);
-        problemInjector.OperatorGraph.InitialOperator.AddSubOperator(value, 0);
-      }
-    }
-
-    public StandardGP()
-      : base() {
-
-      PunishmentFactor = 10.0;
-    }
-
-    protected override IOperator CreateFunctionLibraryInjector() {
-      return DefaultStructureIdentificationOperators.CreateFunctionLibraryInjector();
-    }
-
-    protected override IOperator CreateProblemInjector() {
-      return DefaultRegressionOperators.CreateProblemInjector();
-    }
-
-    protected override IOperator CreateInitialPopulationEvaluator() {
-      return DefaultStructureIdentificationOperators.CreateInitialPopulationEvaluator();
-    }
-
-    protected override IOperator CreateEvaluationOperator() {
-      return DefaultStructureIdentificationOperators.CreateEvaluator();
-    }
-
-
-    protected override IOperator CreateGenerationStepHook() {
-      return DefaultStructureIdentificationOperators.CreateGenerationStepHook();
-    }
-
-    protected override VariableInjector CreateGlobalInjector() {
-      VariableInjector injector = base.CreateGlobalInjector();
-      injector.AddVariable(new HeuristicLab.Core.Variable("PunishmentFactor", new DoubleData()));
-      return injector;
-    }
-
-    protected override IOperator CreateLoggingOperator() {
-      CombinedOperator loggingOperator = new CombinedOperator();
-      loggingOperator.Name = "Logging";
-      SequentialProcessor seq = new SequentialProcessor();
-
-      DataCollector collector = new DataCollector();
-      ItemList<StringData> names = collector.GetVariable("VariableNames").GetValue<ItemList<StringData>>();
-      names.Add(new StringData("BestQuality"));
-      names.Add(new StringData("AverageQuality"));
-      names.Add(new StringData("WorstQuality"));
-      names.Add(new StringData("BestValidationQuality"));
-      names.Add(new StringData("AverageValidationQuality"));
-      names.Add(new StringData("WorstValidationQuality"));
-      names.Add(new StringData("EvaluatedSolutions"));
-      QualityLogger qualityLogger = new QualityLogger();
-      QualityLogger validationQualityLogger = new QualityLogger();
-      validationQualityLogger.GetVariableInfo("Quality").ActualName = "ValidationQuality";
-      validationQualityLogger.GetVariableInfo("QualityLog").ActualName = "ValidationQualityLog";
-      seq.AddSubOperator(collector);
-      seq.AddSubOperator(qualityLogger);
-      seq.AddSubOperator(validationQualityLogger);
-
-      loggingOperator.OperatorGraph.AddOperator(seq);
-      loggingOperator.OperatorGraph.InitialOperator = seq;
-      return loggingOperator;
-    }
-
-    protected override IOperator CreatePostProcessingOperator() {
-      CombinedOperator op = new CombinedOperator();
-      op.Name = "ModelAnalyser";
-      SequentialProcessor seq = new SequentialProcessor();
-      seq.AddSubOperator(DefaultStructureIdentificationOperators.CreatePreparationForPostProcessingOperator());
-
-      UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor();
-      SequentialProcessor solutionProc = new SequentialProcessor();
-      solutionProc.AddSubOperator(CreateModelAnalyzerOperator());
-
-      subScopesProc.AddSubOperator(solutionProc);
-      seq.AddSubOperator(subScopesProc);
-
-      op.OperatorGraph.AddOperator(seq);
-      op.OperatorGraph.InitialOperator = seq;
-      return op;
-    }
-
-    protected virtual IOperator CreateModelAnalyzerOperator() {
-      return DefaultRegressionOperators.CreatePostProcessingOperator();
-    }
-
-    public override object Clone(IDictionary<Guid, object> clonedObjects) {
-      StandardGP clone = (StandardGP)base.Clone(clonedObjects);
-      clone.PunishmentFactor = PunishmentFactor;
-      return clone;
-    }
-
-    protected CombinedOperator GetProblemInjector() {
-      return (CombinedOperator)GetInitializationOperator().SubOperators[0];
-    }
-
-    protected virtual IAnalyzerModel CreateGPModel() {
-      IScope bestModelScope = Engine.GlobalScope.SubScopes[0];
-      IAnalyzerModel model = new AnalyzerModel();
-      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
-      DefaultRegressionOperators.PopulateAnalyzerModel(bestModelScope, model);
-      return model;
-    }
-  }
-}
Index: /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/StandardGPRegression.cs
===================================================================
--- /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/StandardGPRegression.cs	(revision 2361)
+++ /trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/StandardGPRegression.cs	(revision 2361)
@@ -0,0 +1,167 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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 HeuristicLab.Core;
+using HeuristicLab.Operators;
+using HeuristicLab.Selection;
+using HeuristicLab.Logging;
+using HeuristicLab.Data;
+using HeuristicLab.GP.Operators;
+using HeuristicLab.Modeling;
+using System.Collections.Generic;
+using System;
+using HeuristicLab.DataAnalysis;
+
+namespace HeuristicLab.GP.StructureIdentification {
+  public class StandardGPRegression : HeuristicLab.GP.Algorithms.StandardGP, IAlgorithm {
+
+    public override string Name { get { return "StandardGP - StructureIdentification"; } }
+
+    public virtual int TargetVariable {
+      get { return ProblemInjector.GetVariableValue<IntData>("TargetVariable", null, false).Data; }
+      set { ProblemInjector.GetVariableValue<IntData>("TargetVariable", null, false).Data = value; }
+    }
+
+    public virtual Dataset Dataset {
+      get { return ProblemInjector.GetVariableValue<Dataset>("Dataset", null, false); }
+      set { ProblemInjector.GetVariable("Dataset").Value = value; }
+    }
+
+    public virtual IAnalyzerModel Model {
+      get {
+        if (!Engine.Terminated)
+          throw new InvalidOperationException("The algorithm is still running. Wait until the algorithm is terminated to retrieve the result.");
+        else
+          return CreateGPModel();
+      }
+    }
+
+    public virtual double PunishmentFactor {
+      get { return GetVariableInjector().GetVariable("PunishmentFactor").GetValue<DoubleData>().Data; }
+      set { GetVariableInjector().GetVariable("PunishmentFactor").GetValue<DoubleData>().Data = value; }
+    }
+
+    public override IOperator ProblemInjector {
+      get { return GetProblemInjector().OperatorGraph.InitialOperator.SubOperators[0]; }
+      set {
+        value.Name = "ProblemInjector";
+        CombinedOperator problemInjector = GetProblemInjector();
+        problemInjector.OperatorGraph.RemoveOperator(ProblemInjector.Guid);
+        problemInjector.OperatorGraph.AddOperator(value);
+        problemInjector.OperatorGraph.InitialOperator.AddSubOperator(value, 0);
+      }
+    }
+
+    public StandardGPRegression()
+      : base() {
+
+      PunishmentFactor = 10.0;
+    }
+
+    protected override IOperator CreateFunctionLibraryInjector() {
+      return DefaultStructureIdentificationOperators.CreateFunctionLibraryInjector();
+    }
+
+    protected override IOperator CreateProblemInjector() {
+      return DefaultRegressionOperators.CreateProblemInjector();
+    }
+
+    protected override IOperator CreateInitialPopulationEvaluator() {
+      return DefaultStructureIdentificationOperators.CreateInitialPopulationEvaluator();
+    }
+
+    protected override IOperator CreateEvaluationOperator() {
+      return DefaultStructureIdentificationOperators.CreateEvaluator();
+    }
+
+
+    protected override IOperator CreateGenerationStepHook() {
+      return DefaultStructureIdentificationOperators.CreateGenerationStepHook();
+    }
+
+    protected override VariableInjector CreateGlobalInjector() {
+      VariableInjector injector = base.CreateGlobalInjector();
+      injector.AddVariable(new HeuristicLab.Core.Variable("PunishmentFactor", new DoubleData()));
+      return injector;
+    }
+
+    protected override IOperator CreateLoggingOperator() {
+      CombinedOperator loggingOperator = new CombinedOperator();
+      loggingOperator.Name = "Logging";
+      SequentialProcessor seq = new SequentialProcessor();
+
+      DataCollector collector = new DataCollector();
+      ItemList<StringData> names = collector.GetVariable("VariableNames").GetValue<ItemList<StringData>>();
+      names.Add(new StringData("BestQuality"));
+      names.Add(new StringData("AverageQuality"));
+      names.Add(new StringData("WorstQuality"));
+      names.Add(new StringData("BestValidationQuality"));
+      names.Add(new StringData("AverageValidationQuality"));
+      names.Add(new StringData("WorstValidationQuality"));
+      names.Add(new StringData("EvaluatedSolutions"));
+      QualityLogger qualityLogger = new QualityLogger();
+      QualityLogger validationQualityLogger = new QualityLogger();
+      validationQualityLogger.GetVariableInfo("Quality").ActualName = "ValidationQuality";
+      validationQualityLogger.GetVariableInfo("QualityLog").ActualName = "ValidationQualityLog";
+      seq.AddSubOperator(collector);
+      seq.AddSubOperator(qualityLogger);
+      seq.AddSubOperator(validationQualityLogger);
+
+      loggingOperator.OperatorGraph.AddOperator(seq);
+      loggingOperator.OperatorGraph.InitialOperator = seq;
+      return loggingOperator;
+    }
+
+    protected override IOperator CreatePostProcessingOperator() {
+      CombinedOperator op = new CombinedOperator();
+      op.Name = "ModelAnalyser";
+      SequentialProcessor seq = new SequentialProcessor();
+      seq.AddSubOperator(DefaultStructureIdentificationOperators.CreatePreparationForPostProcessingOperator());
+
+      UniformSequentialSubScopesProcessor subScopesProc = new UniformSequentialSubScopesProcessor();
+      SequentialProcessor solutionProc = new SequentialProcessor();
+      solutionProc.AddSubOperator(CreateModelAnalyzerOperator());
+
+      subScopesProc.AddSubOperator(solutionProc);
+      seq.AddSubOperator(subScopesProc);
+
+      op.OperatorGraph.AddOperator(seq);
+      op.OperatorGraph.InitialOperator = seq;
+      return op;
+    }
+
+    protected virtual IOperator CreateModelAnalyzerOperator() {
+      return DefaultRegressionOperators.CreatePostProcessingOperator();
+    }
+
+    protected CombinedOperator GetProblemInjector() {
+      return (CombinedOperator)GetInitializationOperator().SubOperators[0];
+    }
+
+    protected virtual IAnalyzerModel CreateGPModel() {
+      IScope bestModelScope = Engine.GlobalScope.SubScopes[0];
+      IAnalyzerModel model = new AnalyzerModel();
+      DefaultStructureIdentificationOperators.PopulateAnalyzerModel(bestModelScope, model);
+      DefaultRegressionOperators.PopulateAnalyzerModel(bestModelScope, model);
+      return model;
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.SupportVectorMachines/3.2/HeuristicLab.SupportVectorMachines-3.2.csproj
===================================================================
--- /trunk/sources/HeuristicLab.SupportVectorMachines/3.2/HeuristicLab.SupportVectorMachines-3.2.csproj	(revision 2360)
+++ /trunk/sources/HeuristicLab.SupportVectorMachines/3.2/HeuristicLab.SupportVectorMachines-3.2.csproj	(revision 2361)
@@ -84,5 +84,5 @@
   <ItemGroup>
     <Compile Include="SupportVectorClassification.cs" />
-    <Compile Include="TimeSeriesSupportVectorRegression.cs" />
+    <Compile Include="SupportVectorTimeSeriesPrognosis.cs" />
     <Compile Include="PredictorView.cs">
       <SubType>UserControl</SubType>
Index: /trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorTimeSeriesPrognosis.cs
===================================================================
--- /trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorTimeSeriesPrognosis.cs	(revision 2361)
+++ /trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorTimeSeriesPrognosis.cs	(revision 2361)
@@ -0,0 +1,82 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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 System.Text;
+using HeuristicLab.Core;
+using System.Xml;
+using System.Diagnostics;
+using HeuristicLab.DataAnalysis;
+using HeuristicLab.Data;
+using HeuristicLab.Operators;
+using HeuristicLab.Logging;
+using HeuristicLab.Operators.Programmable;
+using HeuristicLab.Modeling;
+using HeuristicLab.Random;
+using HeuristicLab.Selection;
+
+namespace HeuristicLab.SupportVectorMachines {
+  public class SupportVectorTimeSeriesPrognosis : SupportVectorRegression, ITimeSeriesAlgorithm {
+
+    public override string Name { get { return "SupportVectorRegression - Time Series Prognosis"; } }
+
+    public int MaxTimeOffset {
+      get { return GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data; }
+      set { GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data = value; }
+    }
+
+    public int MinTimeOffset {
+      get { return GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data; }
+      set { GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data = value; }
+    }
+
+    public SupportVectorTimeSeriesPrognosis()
+      : base() {
+      MaxTimeOffset = -1;
+      MinTimeOffset = -1;
+    }
+
+    protected override IOperator CreateProblemInjector() {
+      return DefaultTimeSeriesOperators.CreateProblemInjector();
+    }
+
+    protected override VariableInjector CreateGlobalInjector() {
+      VariableInjector injector = base.CreateGlobalInjector();
+      injector.AddVariable(new HeuristicLab.Core.Variable("MaxTimeOffset", new IntData()));
+      injector.AddVariable(new HeuristicLab.Core.Variable("MinTimeOffset", new IntData()));
+      return injector;
+    }
+
+    protected override IOperator CreateModelAnalyzerOperator() {
+      return DefaultTimeSeriesOperators.CreatePostProcessingOperator();
+    }
+
+    protected override IAnalyzerModel CreateSVMModel(IScope bestModelScope) {
+      var model = new AnalyzerModel();
+      model.SetMetaData("Cost", bestModelScope.GetVariableValue<DoubleData>("Cost", false).Data);
+      model.SetMetaData("Nu", bestModelScope.GetVariableValue<DoubleData>("Nu", false).Data);
+      DefaultTimeSeriesOperators.PopulateAnalyzerModel(bestModelScope, model);
+      return model;
+    }
+  }
+}
Index: unk/sources/HeuristicLab.SupportVectorMachines/3.2/TimeSeriesSupportVectorRegression.cs
===================================================================
--- /trunk/sources/HeuristicLab.SupportVectorMachines/3.2/TimeSeriesSupportVectorRegression.cs	(revision 2360)
+++ 	(revision )
@@ -1,82 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 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 System.Text;
-using HeuristicLab.Core;
-using System.Xml;
-using System.Diagnostics;
-using HeuristicLab.DataAnalysis;
-using HeuristicLab.Data;
-using HeuristicLab.Operators;
-using HeuristicLab.Logging;
-using HeuristicLab.Operators.Programmable;
-using HeuristicLab.Modeling;
-using HeuristicLab.Random;
-using HeuristicLab.Selection;
-
-namespace HeuristicLab.SupportVectorMachines {
-  public class TimeSeriesSupportVectorRegression : SupportVectorRegression, ITimeSeriesAlgorithm {
-
-    public override string Name { get { return "SupportVectorRegression - Time Series Prognosis"; } }
-
-    public int MaxTimeOffset {
-      get { return GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data; }
-      set { GetVariableInjector().GetVariable("MaxTimeOffset").GetValue<IntData>().Data = value; }
-    }
-
-    public int MinTimeOffset {
-      get { return GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data; }
-      set { GetVariableInjector().GetVariable("MinTimeOffset").GetValue<IntData>().Data = value; }
-    }
-
-    public TimeSeriesSupportVectorRegression()
-      : base() {
-      MaxTimeOffset = 0;
-      MinTimeOffset = 0;
-    }
-
-    protected override IOperator CreateProblemInjector() {
-      return DefaultTimeSeriesOperators.CreateProblemInjector();
-    }
-
-    protected override VariableInjector CreateGlobalInjector() {
-      VariableInjector injector = base.CreateGlobalInjector();
-      injector.AddVariable(new HeuristicLab.Core.Variable("MaxTimeOffset", new IntData()));
-      injector.AddVariable(new HeuristicLab.Core.Variable("MinTimeOffset", new IntData()));
-      return injector;
-    }
-
-    protected override IOperator CreateModelAnalyzerOperator() {
-      return DefaultTimeSeriesOperators.CreatePostProcessingOperator();
-    }
-
-    protected override IAnalyzerModel CreateSVMModel(IScope bestModelScope) {
-      var model = new AnalyzerModel();
-      model.SetMetaData("Cost", bestModelScope.GetVariableValue<DoubleData>("Cost", false).Data);
-      model.SetMetaData("Nu", bestModelScope.GetVariableValue<DoubleData>("Nu", false).Data);
-      DefaultTimeSeriesOperators.PopulateAnalyzerModel(bestModelScope, model);
-      return model;
-    }
-  }
-}
