Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluator.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluator.cs	(revision 4539)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPEvaluator.cs	(revision 4752)
@@ -33,4 +33,5 @@
 using HeuristicLab.Problems.VehicleRouting.Variants;
 using HeuristicLab.Problems.VehicleRouting.Encodings;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
@@ -105,4 +106,12 @@
       Parameters.Add(new LookupParameter<DoubleValue>("Overload", "The overload."));
     }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new CVRPEvaluator(this, cloner);
+    }
+
+    protected CVRPEvaluator(CVRPEvaluator original, Cloner cloner)
+      : base(original, cloner) {
+    }
   }
 }
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs	(revision 4539)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs	(revision 4752)
@@ -32,4 +32,5 @@
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
@@ -77,4 +78,12 @@
       Parameters.Add(new ValueParameter<DoubleValue>("EvalOverloadPenalty", "The overload penalty considered in the evaluation.", new DoubleValue(100)));
     }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new CVRPProblemInstance(this, cloner);
+    }
+
+    protected CVRPProblemInstance(CVRPProblemInstance original, Cloner cloner)
+      : base(original, cloner) {
+    }
   }
 }
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluator.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluator.cs	(revision 4539)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluator.cs	(revision 4752)
@@ -33,4 +33,5 @@
 using HeuristicLab.Problems.VehicleRouting.Variants;
 using HeuristicLab.Problems.VehicleRouting.Encodings;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
@@ -144,4 +145,12 @@
       Parameters.Add(new LookupParameter<DoubleValue>("TravelTime", "The travel time."));
     }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new CVRPTWEvaluator(this, cloner);
+    }
+
+    protected CVRPTWEvaluator(CVRPTWEvaluator original, Cloner cloner)
+      : base(original, cloner) {
+    }
   }
 }
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs	(revision 4539)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs	(revision 4752)
@@ -32,4 +32,5 @@
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
@@ -103,4 +104,12 @@
       Parameters.Add(new ValueParameter<DoubleValue>("EvalTardinessPenalty", "The tardiness penalty considered in the evaluation.", new DoubleValue(100)));
     }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new CVRPTWProblemInstance(this, cloner);
+    }
+
+    protected CVRPTWProblemInstance(CVRPTWProblemInstance original, Cloner cloner)
+      : base(original, cloner) {
+    }
   }
 }
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPEvaluator.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPEvaluator.cs	(revision 4539)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPEvaluator.cs	(revision 4752)
@@ -33,4 +33,5 @@
 using HeuristicLab.Problems.VehicleRouting.Variants;
 using HeuristicLab.Problems.VehicleRouting.Encodings;
+using HeuristicLab.Common;
 
 
@@ -73,4 +74,12 @@
     public SingleDepotVRPEvaluator() {
     }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new SingleDepotVRPEvaluator(this, cloner);
+    }
+
+    protected SingleDepotVRPEvaluator(SingleDepotVRPEvaluator original, Cloner cloner)
+      : base(original, cloner) {
+    }
   }
 }
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPProblemInstance.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPProblemInstance.cs	(revision 4539)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPProblemInstance.cs	(revision 4752)
@@ -32,4 +32,5 @@
 using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.VehicleRouting.Variants;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
@@ -70,4 +71,12 @@
     public SingleDepotVRPProblemInstance() {
     }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new SingleDepotVRPProblemInstance(this, cloner);
+    }
+
+    protected SingleDepotVRPProblemInstance(SingleDepotVRPProblemInstance original, Cloner cloner)
+      : base(original, cloner) {
+    }
   }
 }
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluator.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluator.cs	(revision 4539)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPEvaluator.cs	(revision 4752)
@@ -33,4 +33,5 @@
 using HeuristicLab.Problems.VehicleRouting.Variants;
 using HeuristicLab.Problems.VehicleRouting.Encodings;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
@@ -64,4 +65,8 @@
       Parameters.Add(new LookupParameter<DoubleValue>("Distance", "The distance."));
       Parameters.Add(new LookupParameter<DoubleValue>("VehiclesUtilized", "The number of vehicles utilized."));
+    }
+
+    protected VRPEvaluator(VRPEvaluator original, Cloner cloner)
+      : base(original, cloner) {
     }
 
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPProblemInstance.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPProblemInstance.cs	(revision 4539)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/VRPProblemInstance.cs	(revision 4752)
@@ -31,4 +31,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
@@ -192,4 +193,8 @@
       Parameters.Add(new ValueParameter<IVRPEvaluator>("Evaluator", "The operator which should be used to evaluate VRP solutions.", Evaluator));
     }
+
+    protected VRPProblemInstance(VRPProblemInstance original, Cloner cloner)
+      : base(original, cloner) {
+    }
   }
 }
