Index: trunk/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeSimilarityComparer.cs
===================================================================
--- trunk/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeSimilarityComparer.cs	(revision 18143)
+++ trunk/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Interfaces/ISymbolicExpressionTreeNodeSimilarityComparer.cs	(revision 18148)
@@ -6,5 +6,5 @@
   [StorableType("c4de8ab2-616d-4c73-9f9c-59545ac38199")]
   public interface ISymbolicExpressionTreeNodeSimilarityComparer : IEqualityComparer<ISymbolicExpressionTreeNode>, IItem {
-    bool MatchParameterValues { get; set; }
+    bool MatchNumericValues { get; set; }
     bool MatchVariableWeights { get; set; }
     bool MatchVariableNames { get; set; }
Index: trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/ConstantsToNumberConverter.cs
===================================================================
--- trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/ConstantsToNumberConverter.cs	(revision 18148)
+++ trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/ConstantsToNumberConverter.cs	(revision 18148)
@@ -0,0 +1,27 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+
+namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  public static class ConstantsToNumberConverter {
+
+    public static ISymbolicExpressionTree Convert(ISymbolicExpressionTree original) {
+      var tree = original.Clone() as SymbolicExpressionTree;
+
+      foreach (var constantNode in tree.IterateNodesPostfix().OfType<ConstantTreeNode>()) {
+        var parent = constantNode.Parent;
+        var index = parent.IndexOfSubtree(constantNode);
+        var value = constantNode.Value;
+        var newNode = new NumberTreeNode(value);
+
+        parent.RemoveSubtree(index);
+        parent.InsertSubtree(index, newNode);
+      }
+
+      return tree;
+    }
+  }
+}
Index: trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj
===================================================================
--- trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj	(revision 18143)
+++ trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj	(revision 18148)
@@ -153,4 +153,5 @@
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="Converters\ConstantsToNumberConverter.cs" />
     <Compile Include="Converters\LinearModelToTreeConverter.cs" />
     <Compile Include="Converters\TreeSimplifier.cs" />
Index: trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Constant.cs
===================================================================
--- trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Constant.cs	(revision 18143)
+++ trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Constant.cs	(revision 18148)
@@ -35,4 +35,5 @@
     public override int MaximumArity => maximumArity;
 
+    [Storable]
     public double Value { get; set; }
 
Index: trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/NumberTreeNode.cs
===================================================================
--- trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/NumberTreeNode.cs	(revision 18143)
+++ trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/NumberTreeNode.cs	(revision 18148)
@@ -44,4 +44,8 @@
     public NumberTreeNode(Number numberSymbol) : base(numberSymbol) { }
 
+    public NumberTreeNode(double value) : this(new Number()) {
+      Value = value;
+    }
+
     public override bool HasLocalParameters => true;
 
Index: trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeMaxCommonSubtreeSimilarityCalculator.cs
===================================================================
--- trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeMaxCommonSubtreeSimilarityCalculator.cs	(revision 18143)
+++ trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeMaxCommonSubtreeSimilarityCalculator.cs	(revision 18148)
@@ -39,6 +39,6 @@
 
     public bool MatchParameterValues {
-      get { return comparer.MatchParameterValues; }
-      set { comparer.MatchParameterValues = value; }
+      get { return comparer.MatchNumericValues; }
+      set { comparer.MatchNumericValues = value; }
     }
 
@@ -59,5 +59,5 @@
     public SymbolicExpressionTreeMaxCommonSubtreeSimilarityCalculator() {
       comparer = new SymbolicExpressionTreeNodeEqualityComparer {
-        MatchParameterValues = true,
+        MatchNumericValues = true,
         MatchVariableNames = true,
         MatchVariableWeights = true
@@ -67,5 +67,5 @@
     public SymbolicExpressionTreeMaxCommonSubtreeSimilarityCalculator(bool matchVariableWeights, bool matchParameterValues) {
       comparer = new SymbolicExpressionTreeNodeEqualityComparer {
-        MatchParameterValues = matchParameterValues,
+        MatchNumericValues = matchParameterValues,
         MatchVariableNames = true,
         MatchVariableWeights = matchVariableWeights
Index: trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeNodeEqualityComparer.cs
===================================================================
--- trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeNodeEqualityComparer.cs	(revision 18143)
+++ trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeNodeEqualityComparer.cs	(revision 18148)
@@ -42,5 +42,5 @@
     [Storable]
     private bool matchNumericValues;
-    public bool MatchParameterValues {
+    public bool MatchNumericValues {
       get { return matchNumericValues; }
       set { matchNumericValues = value; }
@@ -90,5 +90,5 @@
         var cb = b as INumericTreeNode;
         if (cb == null) return false;
-        return (!MatchParameterValues || ca.Value.Equals(cb.Value));
+        return (!MatchNumericValues || ca.Value.Equals(cb.Value));
       }
       return false;
Index: trunk/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeSimplifierTest.cs
===================================================================
--- trunk/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeSimplifierTest.cs	(revision 18143)
+++ trunk/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeSimplifierTest.cs	(revision 18148)
@@ -287,5 +287,7 @@
       var formatter = new SymbolicExpressionTreeStringFormatter();
       var importer = new SymbolicExpressionImporter();
-      var actualTree = TreeSimplifier.Simplify(importer.Import(original));
+      var originalTree = importer.Import(original);
+      originalTree = ConstantsToNumberConverter.Convert(originalTree);
+      var actualTree = TreeSimplifier.Simplify(originalTree);
       var expectedTree = importer.Import(expected);
       Assert.AreEqual(formatter.Format(expectedTree), formatter.Format(actualTree));
Index: trunk/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeBottomUpSimilarityCalculatorTest.cs
===================================================================
--- trunk/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeBottomUpSimilarityCalculatorTest.cs	(revision 18143)
+++ trunk/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeBottomUpSimilarityCalculatorTest.cs	(revision 18148)
@@ -82,5 +82,5 @@
       var sw = new Stopwatch();
 
-      var similarityCalculator = new SymbolicExpressionTreeBottomUpSimilarityCalculator { MatchVariableWeights = false, MatchParameterValues = false };
+      var similarityCalculator = new SymbolicExpressionTreeBottomUpSimilarityCalculator { MatchVariableWeights = false, MatchNumericValues = false };
 
       sw.Start();
@@ -117,5 +117,5 @@
       var trees = Util.CreateRandomTrees(twister, ds, grammar, N, 100);
 
-      var similarityCalculator = new SymbolicExpressionTreeBottomUpSimilarityCalculator { MatchParameterValues = strict, MatchVariableWeights = strict };
+      var similarityCalculator = new SymbolicExpressionTreeBottomUpSimilarityCalculator { MatchNumericValues = strict, MatchVariableWeights = strict };
       var bottomUpSimilarity = 0d;
       for (int i = 0; i < trees.Length - 1; ++i) {
