Index: branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CombinedOperators/QAPAfterCrossoverCombinedOperator.cs
===================================================================
--- branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CombinedOperators/QAPAfterCrossoverCombinedOperator.cs	(revision 9045)
+++ branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CombinedOperators/QAPAfterCrossoverCombinedOperator.cs	(revision 9050)
@@ -40,6 +40,6 @@
 
     protected override void SimilarityCalculatorParameter_ValueChanged(object sender, System.EventArgs e) {
-      SimilarityCalculatorParameter.Value.QualityVariableName = "Assignment";
-      SimilarityCalculatorParameter.Value.SolutionVariableName = "Quality";
+      SimilarityCalculatorParameter.Value.QualityVariableName = "Quality";
+      SimilarityCalculatorParameter.Value.SolutionVariableName = "Assignment";
     }
 
@@ -59,5 +59,5 @@
       var umAnalyzer = new PermutationUnwantedMutationAnalyzer();
       umAnalyzer.SolutionVariableName = "Assignment";
-      cxAnalyzer.UnwantedMutationAnalyzerParameter.Value = umAnalyzer;  
+      cxAnalyzer.UnwantedMutationAnalyzerParameter.Value = umAnalyzer;
     }
   }
Index: branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CombinedOperators/VRPAfterCrossoverCombinedOperator.cs
===================================================================
--- branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CombinedOperators/VRPAfterCrossoverCombinedOperator.cs	(revision 9050)
+++ branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CombinedOperators/VRPAfterCrossoverCombinedOperator.cs	(revision 9050)
@@ -0,0 +1,60 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 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.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Analysis.AlgorithmBehavior.Analyzers {
+  [Item("VRPAfterCrossoverCombinedOperator", "An operator that contains all operators that need to be executed after crossover for the VRP.")]
+  [StorableClass]
+  public class VRPAfterCrossoverCombinedOperator : AfterCrossoverCombinedOperator {
+
+    [StorableConstructor]
+    protected VRPAfterCrossoverCombinedOperator(bool deserializing) : base(deserializing) { }
+    protected VRPAfterCrossoverCombinedOperator(VRPAfterCrossoverCombinedOperator original, Cloner cloner)
+      : base(original, cloner) {
+    }
+
+    public VRPAfterCrossoverCombinedOperator()
+      : base() {
+    }
+
+    protected override void SimilarityCalculatorParameter_ValueChanged(object sender, System.EventArgs e) {
+      SimilarityCalculatorParameter.Value.QualityVariableName = "Quality";
+      SimilarityCalculatorParameter.Value.SolutionVariableName = "VRPTours";
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new VRPAfterCrossoverCombinedOperator(this, cloner);
+    }
+
+    public override void InitializeOperators() {
+      base.InitializeOperators();
+
+      cxAnalyzer.ParentsQualityParameter.ActualName = "Quality";
+      cxAnalyzer.QualityParameter.ActualName = "Quality";
+
+      varDuplicator.OriginalParameter.ActualName = "VRPTours";
+      varDuplicator.CloneParameter.ActualName = "VRPToursClone";
+    }
+  }
+}
Index: branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CombinedOperators/VRPAfterMutationCombinedOperator.cs
===================================================================
--- branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CombinedOperators/VRPAfterMutationCombinedOperator.cs	(revision 9050)
+++ branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CombinedOperators/VRPAfterMutationCombinedOperator.cs	(revision 9050)
@@ -0,0 +1,60 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 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.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Analysis.AlgorithmBehavior.Analyzers {
+  [Item("VRPAfterMutationCombinedOperator", "An operator that contains all operators that need to be executed after mutation for the VRP.")]
+  [StorableClass]
+  public class VRPAfterMutationCombinedOperator : AfterMutationCombinedOperator {
+    [StorableConstructor]
+    protected VRPAfterMutationCombinedOperator(bool deserializing) : base(deserializing) { }
+    protected VRPAfterMutationCombinedOperator(VRPAfterMutationCombinedOperator original, Cloner cloner)
+      : base(original, cloner) {
+    }
+
+    public VRPAfterMutationCombinedOperator()
+      : base() { }
+
+    protected override void SimilarityCalculatorParameter_ValueChanged(object sender, System.EventArgs e) {
+      SimilarityCalculatorParameter.Value.QualityVariableName = "Quality";
+      SimilarityCalculatorParameter.Value.SolutionVariableName = "VRPTours";
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new VRPAfterMutationCombinedOperator(this, cloner);
+    }
+
+    public override void InitializeOperators() {
+      base.InitializeOperators();
+      ((ILookupParameter)evaluatorClone.Parameters["Quality"]).ActualName = "QualityM";
+
+      mAnalyzer.QualityAfterCrossoverParameter.ActualName = "Quality";
+      mAnalyzer.QualityAfterMutationParameter.ActualName = "QualityM";
+      mAnalyzer.PermutationBeforeMutationParameter.ActualName = "VRPToursClone";
+      mAnalyzer.PermutationAfterMutationParameter.ActualName = "VRPTours";
+
+      varRemover.VariableNameParameter.Value.Value = "VRPToursClone";
+    }
+  }
+}
Index: branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CrossoverPerformanceAnalyzer.cs
===================================================================
--- branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CrossoverPerformanceAnalyzer.cs	(revision 9045)
+++ branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/CrossoverPerformanceAnalyzer.cs	(revision 9050)
@@ -27,5 +27,4 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
@@ -113,8 +112,4 @@
       Parameters.Add(new LookupParameter<IntValue>(GenerationsParameterName, "Nr of generations."));
 
-      Parameters.Add(new ScopeTreeLookupParameter<Permutation>("Parents", "The parent permutations which have been crossed."));
-
-      Parameters.Add(new LookupParameter<Permutation>("Child", "The child permutation resulting from the crossover."));
-
       Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("ParentsQuality", "The quality of the parent solutions."));
       ParentsQualityParameter.ActualName = "TSPTourLength";
Index: branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers-3.3.csproj
===================================================================
--- branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers-3.3.csproj	(revision 9045)
+++ branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers-3.3.csproj	(revision 9050)
@@ -120,4 +120,6 @@
     <Compile Include="AfterCrossoverCombinedOperator.cs" />
     <Compile Include="AfterMutationCombinedOperator.cs" />
+    <Compile Include="CombinedOperators\VRPAfterMutationCombinedOperator.cs" />
+    <Compile Include="CombinedOperators\VRPAfterCrossoverCombinedOperator.cs" />
     <Compile Include="CombinedOperators\TFAfterMutationCombinedOperator.cs" />
     <Compile Include="CombinedOperators\TFAfterCrossoverCombinedOperator.cs" />
