Index: trunk/sources/HeuristicLab.CEDMA.Server/3.3/SimpleDispatcher.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.Server/3.3/SimpleDispatcher.cs	(revision 2362)
+++ trunk/sources/HeuristicLab.CEDMA.Server/3.3/SimpleDispatcher.cs	(revision 2363)
@@ -193,13 +193,7 @@
           allowedFeatures.Add(new IntData(targetVariable));
         }
-      } else if (problem.LearningTask == LearningTask.Classification) {
-        ItemList<DoubleData> classValues = algo.ProblemInjector.GetVariable("TargetClassValues").GetValue<ItemList<DoubleData>>();
-        foreach (double classValue in GetDifferentClassValues(problem.Dataset, targetVariable)) classValues.Add(new DoubleData(classValue));
-      }
-    }
-
-    private IEnumerable<double> GetDifferentClassValues(HeuristicLab.DataAnalysis.Dataset dataset, int targetVariable) {
-      return Enumerable.Range(0, dataset.Rows).Select(x => dataset.GetValue(x, targetVariable)).Distinct();
-    }
+      }
+    }
+
 
     private void AddDispatchedRun(string targetVariable, IEnumerable<string> inputVariables, string algorithm) {
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGPClassification.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGPClassification.cs	(revision 2362)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGPClassification.cs	(revision 2363)
@@ -42,5 +42,5 @@
     }
 
-    protected virtual IAnalyzerModel CreateGPModel() {
+    protected override IAnalyzerModel CreateGPModel() {
       IScope bestModelScope = Engine.GlobalScope.SubScopes[0];
       var model = new AnalyzerModel();
Index: trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/DefaultStructureIdentificationOperators.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/DefaultStructureIdentificationOperators.cs	(revision 2362)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/DefaultStructureIdentificationOperators.cs	(revision 2363)
@@ -156,5 +156,5 @@
 
     public static void PopulateAnalyzerModel(IScope bestModelScope, IAnalyzerModel model) {
-      model.SetMetaData("EvaluatedSolutions", bestModelScope.GetVariableValue<DoubleData>("EvaluatedSolutions", false).Data);
+      model.SetMetaData("EvaluatedSolutions", bestModelScope.GetVariableValue<IntData>("EvaluatedSolutions", false).Data);
       IGeneticProgrammingModel gpModel = bestModelScope.GetVariableValue<IGeneticProgrammingModel>("FunctionTree", false);
       model.SetMetaData("TreeSize", gpModel.Size);
Index: trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/OffspringSelectionGPRegression.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/OffspringSelectionGPRegression.cs	(revision 2362)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/OffspringSelectionGPRegression.cs	(revision 2363)
@@ -34,5 +34,5 @@
 
 namespace HeuristicLab.GP.StructureIdentification {
-  public class OffspringSelectionGPRegression : HeuristicLab.GP.Algorithms.OffspringSelectionGP, IAlgorithm {
+  public class OffspringSelectionGPRegression : HeuristicLab.GP.Algorithms.OffspringSelectionGP, IStochasticAlgorithm {
     public override string Name { get { return "OffspringSelectionGP - StructureIdentification"; } }
 
Index: trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/StandardGPRegression.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/StandardGPRegression.cs	(revision 2362)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/StandardGPRegression.cs	(revision 2363)
@@ -33,5 +33,5 @@
 
 namespace HeuristicLab.GP.StructureIdentification {
-  public class StandardGPRegression : HeuristicLab.GP.Algorithms.StandardGP, IAlgorithm {
+  public class StandardGPRegression : HeuristicLab.GP.Algorithms.StandardGP, IStochasticAlgorithm {
 
     public override string Name { get { return "StandardGP - StructureIdentification"; } }
@@ -96,6 +96,29 @@
 
     protected override IOperator CreateGenerationStepHook() {
-      return DefaultStructureIdentificationOperators.CreateGenerationStepHook();
+      IOperator op = DefaultStructureIdentificationOperators.CreateGenerationStepHook();
+      op.AddSubOperator(CreateBestSolutionProcessor());
+      return op;
     }
+
+    private IOperator CreateBestSolutionProcessor() {
+      CombinedOperator op = new CombinedOperator();
+      op.Name = "BestSolutionProcessor";
+      SequentialProcessor seq = new SequentialProcessor();
+
+      ProgrammableOperator evaluatedSolutionsStorer = new ProgrammableOperator();
+      evaluatedSolutionsStorer.RemoveVariableInfo("Result");
+      evaluatedSolutionsStorer.AddVariableInfo(new VariableInfo("Input", "Value to copy", typeof(IntData), VariableKind.In));
+      evaluatedSolutionsStorer.AddVariableInfo(new VariableInfo("Output", "Value to write", typeof(IntData), VariableKind.New));
+      evaluatedSolutionsStorer.GetVariableInfo("Input").ActualName = "EvaluatedSolutions";
+      evaluatedSolutionsStorer.GetVariableInfo("Output").ActualName = "EvaluatedSolutions";
+      evaluatedSolutionsStorer.Code = "Output.Data = Input.Data;";
+
+      seq.AddSubOperator(evaluatedSolutionsStorer);
+
+      op.OperatorGraph.AddOperator(seq);
+      op.OperatorGraph.InitialOperator = seq;
+      return op;
+    }
+
 
     protected override VariableInjector CreateGlobalInjector() {
@@ -150,25 +173,4 @@
     }
 
-    private IOperator CreateBestSolutionProcessor() {
-      CombinedOperator op = new CombinedOperator();
-      op.Name = "BestSolutionProcessor";
-      SequentialProcessor seq = new SequentialProcessor();
-
-      ProgrammableOperator evaluatedSolutionsStorer = new ProgrammableOperator();
-      evaluatedSolutionsStorer.RemoveVariableInfo("Result");
-      evaluatedSolutionsStorer.AddVariableInfo(new VariableInfo("Input", "Value to copy", typeof(IntData), VariableKind.In));
-      evaluatedSolutionsStorer.AddVariableInfo(new VariableInfo("Output", "Value to write", typeof(IntData), VariableKind.New));
-      evaluatedSolutionsStorer.GetVariableInfo("Input").ActualName = "EvaluatedSolutions";
-      evaluatedSolutionsStorer.GetVariableInfo("Output").ActualName = "EvaluatedSolutions";
-      evaluatedSolutionsStorer.Code = "Output.Data = Input.Data;";
-
-      seq.AddSubOperator(evaluatedSolutionsStorer);
-
-      op.OperatorGraph.AddOperator(seq);
-      op.OperatorGraph.InitialOperator = seq;
-      return op;
-    }
-
-
     protected virtual IOperator CreateModelAnalyzerOperator() {
       return DefaultRegressionOperators.CreatePostProcessingOperator();
Index: trunk/sources/HeuristicLab.LinearRegression/3.2/LinearClassification.cs
===================================================================
--- trunk/sources/HeuristicLab.LinearRegression/3.2/LinearClassification.cs	(revision 2362)
+++ trunk/sources/HeuristicLab.LinearRegression/3.2/LinearClassification.cs	(revision 2363)
@@ -54,5 +54,5 @@
     }
 
-    protected internal virtual IAnalyzerModel CreateLRModel(IScope bestModelScope) {
+    protected override IAnalyzerModel CreateLRModel(IScope bestModelScope) {
       var model = new AnalyzerModel();
       DefaultClassificationOperators.PopulateAnalyzerModel(bestModelScope, model);
Index: trunk/sources/HeuristicLab.LinearRegression/3.2/LinearRegression.cs
===================================================================
--- trunk/sources/HeuristicLab.LinearRegression/3.2/LinearRegression.cs	(revision 2362)
+++ trunk/sources/HeuristicLab.LinearRegression/3.2/LinearRegression.cs	(revision 2363)
@@ -60,10 +60,12 @@
       get {
         IOperator main = GetMainOperator();
-        return main.SubOperators[2];
+        CombinedOperator probInjector = (CombinedOperator)main.SubOperators[2];
+        return probInjector.OperatorGraph.InitialOperator.SubOperators[0];
       }
       set {
         IOperator main = GetMainOperator();
-        main.RemoveSubOperator(2);
-        main.AddSubOperator(value, 2);
+        CombinedOperator probInjector = (CombinedOperator)main.SubOperators[2];
+        probInjector.OperatorGraph.InitialOperator.RemoveSubOperator(0);
+        probInjector.OperatorGraph.InitialOperator.AddSubOperator(value, 0);
       }
     }
Index: trunk/sources/HeuristicLab.LinearRegression/3.2/LinearTimeSeriesPrognosis.cs
===================================================================
--- trunk/sources/HeuristicLab.LinearRegression/3.2/LinearTimeSeriesPrognosis.cs	(revision 2362)
+++ trunk/sources/HeuristicLab.LinearRegression/3.2/LinearTimeSeriesPrognosis.cs	(revision 2363)
@@ -73,5 +73,5 @@
     }
 
-    protected internal virtual IAnalyzerModel CreateLRModel(IScope bestModelScope) {
+    protected override IAnalyzerModel CreateLRModel(IScope bestModelScope) {
       var model = new AnalyzerModel();
       DefaultTimeSeriesOperators.PopulateAnalyzerModel(bestModelScope, model);
Index: trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorRegression.cs
===================================================================
--- trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorRegression.cs	(revision 2362)
+++ trunk/sources/HeuristicLab.SupportVectorMachines/3.2/SupportVectorRegression.cs	(revision 2363)
@@ -60,10 +60,12 @@
       get {
         IOperator main = GetMainOperator();
-        return main.SubOperators[0].SubOperators[1];
+        CombinedOperator probInject = (CombinedOperator)main.SubOperators[0].SubOperators[2];
+        return probInject.OperatorGraph.InitialOperator.SubOperators[0];
       }
       set {
         IOperator main = GetMainOperator();
-        main.RemoveSubOperator(1);
-        main.AddSubOperator(value, 1);
+        CombinedOperator probInject = (CombinedOperator)main.SubOperators[0].SubOperators[2];
+        probInject.OperatorGraph.InitialOperator.RemoveSubOperator(0);
+        probInject.OperatorGraph.InitialOperator.AddSubOperator(value, 0);
       }
     }
Index: trunk/sources/HeuristicLab.sln
===================================================================
--- trunk/sources/HeuristicLab.sln	(revision 2362)
+++ trunk/sources/HeuristicLab.sln	(revision 2363)
@@ -990,4 +990,5 @@
 		{1F1CF3ED-374C-4288-995B-93F6B872F571}.CEDMA Debug|x64.Build.0 = Debug|x64
 		{1F1CF3ED-374C-4288-995B-93F6B872F571}.CEDMA Debug|x86.ActiveCfg = Debug|x86
+		{1F1CF3ED-374C-4288-995B-93F6B872F571}.CEDMA Debug|x86.Build.0 = Debug|x86
 		{1F1CF3ED-374C-4288-995B-93F6B872F571}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{1F1CF3ED-374C-4288-995B-93F6B872F571}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -1422,5 +1423,4 @@
 		{C8FEDAC1-0326-4293-B585-F0FEDDEDFC11}.CEDMA Debug|x64.ActiveCfg = Debug|x64
 		{C8FEDAC1-0326-4293-B585-F0FEDDEDFC11}.CEDMA Debug|x86.ActiveCfg = Debug|x86
-		{C8FEDAC1-0326-4293-B585-F0FEDDEDFC11}.CEDMA Debug|x86.Build.0 = Debug|x86
 		{C8FEDAC1-0326-4293-B585-F0FEDDEDFC11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{C8FEDAC1-0326-4293-B585-F0FEDDEDFC11}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -3720,5 +3720,6 @@
 		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
 		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.CEDMA Debug|x64.ActiveCfg = Debug|Any CPU
-		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.CEDMA Debug|x86.ActiveCfg = Debug|Any CPU
+		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.CEDMA Debug|x86.ActiveCfg = Debug|x86
+		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.CEDMA Debug|x86.Build.0 = Debug|x86
 		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -3888,5 +3889,5 @@
 		{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
 		{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}.CEDMA Debug|x64.ActiveCfg = Debug|Any CPU
-		{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}.CEDMA Debug|x86.ActiveCfg = Debug|Any CPU
+		{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -3916,5 +3917,5 @@
 		{569E430B-B4CE-4B94-A44E-6246B6E4E3BC}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
 		{569E430B-B4CE-4B94-A44E-6246B6E4E3BC}.CEDMA Debug|x64.ActiveCfg = Debug|Any CPU
-		{569E430B-B4CE-4B94-A44E-6246B6E4E3BC}.CEDMA Debug|x86.ActiveCfg = Debug|Any CPU
+		{569E430B-B4CE-4B94-A44E-6246B6E4E3BC}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{569E430B-B4CE-4B94-A44E-6246B6E4E3BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{569E430B-B4CE-4B94-A44E-6246B6E4E3BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -3944,5 +3945,5 @@
 		{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
 		{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}.CEDMA Debug|x64.ActiveCfg = Debug|Any CPU
-		{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}.CEDMA Debug|x86.ActiveCfg = Debug|Any CPU
+		{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -3972,5 +3973,5 @@
 		{1263BB36-1F20-4960-A5CB-530746DBAD77}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
 		{1263BB36-1F20-4960-A5CB-530746DBAD77}.CEDMA Debug|x64.ActiveCfg = Debug|Any CPU
-		{1263BB36-1F20-4960-A5CB-530746DBAD77}.CEDMA Debug|x86.ActiveCfg = Debug|Any CPU
+		{1263BB36-1F20-4960-A5CB-530746DBAD77}.CEDMA Debug|x86.ActiveCfg = Debug|x86
 		{1263BB36-1F20-4960-A5CB-530746DBAD77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{1263BB36-1F20-4960-A5CB-530746DBAD77}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -4030,5 +4031,6 @@
 		{3127719F-110E-4558-8845-98559DBB422D}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
 		{3127719F-110E-4558-8845-98559DBB422D}.CEDMA Debug|x64.ActiveCfg = Debug|Any CPU
-		{3127719F-110E-4558-8845-98559DBB422D}.CEDMA Debug|x86.ActiveCfg = Debug|Any CPU
+		{3127719F-110E-4558-8845-98559DBB422D}.CEDMA Debug|x86.ActiveCfg = Debug|x86
+		{3127719F-110E-4558-8845-98559DBB422D}.CEDMA Debug|x86.Build.0 = Debug|x86
 		{3127719F-110E-4558-8845-98559DBB422D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{3127719F-110E-4558-8845-98559DBB422D}.Debug|Any CPU.Build.0 = Debug|Any CPU
