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();
