Index: branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GPSymbolicRegressionSampleWithOSTest.cs
===================================================================
--- branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GPSymbolicRegressionSampleWithOSTest.cs	(revision 18125)
+++ branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GPSymbolicRegressionSampleWithOSTest.cs	(revision 18126)
@@ -66,5 +66,5 @@
         // Unfortunately, running the same test on a different machine results in different values
         // For x86 environments the results below match but on x64 there is a difference
-        // We tracked down the ConstantOptimizationEvaluator as a possible cause but have not
+        // We tracked down the ParameterOptimizationEvaluator as a possible cause but have not
         // been able to identify the real cause. Presumably, execution on a Xeon and a Core i7 processor 
         // leads to different results. 
Index: branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GeSymbolicRegressionSampleTest.cs
===================================================================
--- branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GeSymbolicRegressionSampleTest.cs	(revision 18125)
+++ branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GeSymbolicRegressionSampleTest.cs	(revision 18126)
@@ -113,4 +113,8 @@
         problem.SymbolicExpressionTreeGrammar.RemoveSymbol(c);
       }
+      var numbers = problem.SymbolicExpressionTreeGrammar.AllowedSymbols.OfType<Number>().ToList();
+      foreach (var n in numbers) {
+        problem.SymbolicExpressionTreeGrammar.RemoveSymbol(n);
+      }
 
       SamplesUtils.ConfigureOsGeneticAlgorithmParameters<GenderSpecificSelector, Encodings.IntegerVectorEncoding.SinglePointCrossover, Encodings.IntegerVectorEncoding.UniformOnePositionManipulator>(
Index: branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionCrossoverTest.cs
===================================================================
--- branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionCrossoverTest.cs	(revision 18125)
+++ branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionCrossoverTest.cs	(revision 18126)
@@ -110,5 +110,5 @@
       grammar.MinimumFunctionDefinitions = 0;
 
-      var trees = Util.CreateRandomTrees(twister, dataset, grammar, PopulationSize, 1, MaxTreeLength, 0, 0);
+      var trees = Util.CreateRandomTrees(twister, dataset, grammar, PopulationSize, MaxTreeLength);
       foreach (ISymbolicExpressionTree tree in trees) {
         Util.InitTree(tree, twister, new List<string>(dataset.VariableNames));
Index: branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs
===================================================================
--- branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs	(revision 18125)
+++ branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs	(revision 18126)
@@ -141,5 +141,5 @@
       grammar.ConfigureAsDefaultRegressionGrammar();
 
-      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 1, 100, 0, 0);
+      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 100);
       foreach (ISymbolicExpressionTree tree in randomTrees) {
         Util.InitTree(tree, twister, new List<string>(dataset.VariableNames));
@@ -155,5 +155,5 @@
 
       var grammar = new FullFunctionalExpressionGrammar();
-      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 1, 100, 0, 0);
+      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 100);
       foreach (ISymbolicExpressionTree tree in randomTrees) {
         Util.InitTree(tree, twister, new List<string>(dataset.VariableNames));
@@ -169,5 +169,5 @@
 
       var grammar = new ArithmeticExpressionGrammar();
-      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 1, 100, 0, 0);
+      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 100);
       foreach (SymbolicExpressionTree tree in randomTrees) {
         Util.InitTree(tree, twister, new List<string>(dataset.VariableNames));
@@ -249,5 +249,5 @@
 
       var rows = Enumerable.Range(0, numRows).ToList();
-      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 1, 10, 0, 0);
+      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 10);
       foreach (ISymbolicExpressionTree tree in randomTrees) {
         Util.InitTree(tree, twister, new List<string>(dataset.VariableNames));
@@ -299,5 +299,5 @@
       grammar.Symbols.First(x => x is Power).Enabled = false;
 
-      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 1, 10, 0, 0);
+      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 10);
       foreach (ISymbolicExpressionTree tree in randomTrees) {
         Util.InitTree(tree, twister, new List<string>(dataset.VariableNames));
Index: branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeBottomUpSimilarityCalculatorTest.cs
===================================================================
--- branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeBottomUpSimilarityCalculatorTest.cs	(revision 18125)
+++ branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeBottomUpSimilarityCalculatorTest.cs	(revision 18126)
@@ -77,5 +77,5 @@
       var twister = new MersenneTwister(31415);
       var ds = Util.CreateRandomDataset(twister, Rows, Columns);
-      var trees = Util.CreateRandomTrees(twister, ds, grammar, N, 1, 100, 0, 0);
+      var trees = Util.CreateRandomTrees(twister, ds, grammar, N, 100);
 
       double s = 0;
@@ -115,5 +115,5 @@
       var twister = new MersenneTwister(31415);
       var ds = Util.CreateRandomDataset(twister, Rows, Columns);
-      var trees = Util.CreateRandomTrees(twister, ds, grammar, N, 1, 100, 0, 0);
+      var trees = Util.CreateRandomTrees(twister, ds, grammar, N, 100);
 
       var similarityCalculator = new SymbolicExpressionTreeBottomUpSimilarityCalculator { MatchParameterValues = strict, MatchVariableWeights = strict };
Index: branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeMaxCommonSubtreeSimilarityCalculatorTest.cs
===================================================================
--- branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeMaxCommonSubtreeSimilarityCalculatorTest.cs	(revision 18125)
+++ branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeMaxCommonSubtreeSimilarityCalculatorTest.cs	(revision 18126)
@@ -53,5 +53,5 @@
       var twister = new MersenneTwister(31415);
       var ds = Util.CreateRandomDataset(twister, Rows, Columns);
-      var trees = Util.CreateRandomTrees(twister, ds, grammar, N, 1, 100, 0, 0);
+      var trees = Util.CreateRandomTrees(twister, ds, grammar, N, 100);
 
       double s = 0;
Index: branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/Util.cs
===================================================================
--- branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/Util.cs	(revision 18125)
+++ branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/Util.cs	(revision 18126)
@@ -35,7 +35,7 @@
           varNode.Weight = twister.NextDouble() * 20.0 - 10.0;
           varNode.VariableName = varNames[twister.Next(varNames.Count)];
-        } else if (node is ConstantTreeNode) {
-          var constantNode = node as ConstantTreeNode;
-          constantNode.Value = twister.NextDouble() * 20.0 - 10.0;
+        } else if (node is NumberTreeNode) {
+          var numNode = node as NumberTreeNode;
+          numNode.Value = twister.NextDouble() * 20.0 - 10.0;
         }
       }
@@ -44,10 +44,9 @@
 
     public static ISymbolicExpressionTree[] CreateRandomTrees(MersenneTwister twister, Dataset dataset, ISymbolicExpressionGrammar grammar, int popSize) {
-      return CreateRandomTrees(twister, dataset, grammar, popSize, 1, 200, 3, 3);
+      return CreateRandomTrees(twister, dataset, grammar, popSize, 200);
     }
 
     public static ISymbolicExpressionTree[] CreateRandomTrees(MersenneTwister twister, Dataset dataset, ISymbolicExpressionGrammar grammar,
-      int popSize, int minSize, int maxSize,
-      int maxFunctionDefinitions, int maxFunctionArguments) {
+      int popSize, int maxSize) {
       foreach (Variable variableSymbol in grammar.Symbols.OfType<Variable>()) {
         variableSymbol.VariableNames = dataset.VariableNames.Skip(1);
Index: branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs
===================================================================
--- branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs	(revision 18125)
+++ branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs	(revision 18126)
@@ -66,5 +66,5 @@
       grammar.MinimumFunctionArguments = 0;
       grammar.MinimumFunctionDefinitions = 0;
-      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 1, 100, 0, 0);
+      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 100);
       foreach (ISymbolicExpressionTree tree in randomTrees) {
         Util.InitTree(tree, twister, new List<string>(dataset.VariableNames));
@@ -83,5 +83,5 @@
       grammar.MinimumFunctionArguments = 0;
       grammar.MinimumFunctionDefinitions = 0;
-      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 1, 100, 0, 0);
+      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 100);
       foreach (ISymbolicExpressionTree tree in randomTrees) {
         Util.InitTree(tree, twister, new List<string>(dataset.VariableNames));
@@ -100,5 +100,5 @@
       grammar.MinimumFunctionArguments = 0;
       grammar.MinimumFunctionDefinitions = 0;
-      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 1, 100, 0, 0);
+      var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 100);
       foreach (SymbolicExpressionTree tree in randomTrees) {
         Util.InitTree(tree, twister, new List<string>(dataset.VariableNames));
Index: branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis-3.4/Util.cs
===================================================================
--- branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis-3.4/Util.cs	(revision 18125)
+++ branches/3140_NumberSymbol/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis-3.4/Util.cs	(revision 18126)
@@ -35,7 +35,7 @@
           varNode.Weight = twister.NextDouble() * 20.0 - 10.0;
           varNode.VariableName = varNames[twister.Next(varNames.Count)];
-        } else if (node is ConstantTreeNode) {
-          var constantNode = node as ConstantTreeNode;
-          constantNode.Value = twister.NextDouble() * 20.0 - 10.0;
+        } else if (node is NumberTreeNode) {
+          var numNode = node as NumberTreeNode;
+          numNode.Value = twister.NextDouble() * 20.0 - 10.0;
         }
       }
@@ -44,10 +44,9 @@
 
     public static ISymbolicExpressionTree[] CreateRandomTrees(MersenneTwister twister, Dataset dataset, ISymbolicExpressionGrammar grammar, int popSize) {
-      return CreateRandomTrees(twister, dataset, grammar, popSize, 1, 200, 3, 3);
+      return CreateRandomTrees(twister, dataset, grammar, popSize, 200);
     }
 
     public static ISymbolicExpressionTree[] CreateRandomTrees(MersenneTwister twister, Dataset dataset, ISymbolicExpressionGrammar grammar,
-      int popSize, int minSize, int maxSize,
-      int maxFunctionDefinitions, int maxFunctionArguments) {
+      int popSize, int maxSize) {
       foreach (Variable variableSymbol in grammar.Symbols.OfType<Variable>()) {
         variableSymbol.VariableNames = dataset.VariableNames.Skip(1);
