Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/Capacitated/CapacityRelaxationVRPAnalyzer.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/Capacitated/CapacityRelaxationVRPAnalyzer.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/Capacitated/CapacityRelaxationVRPAnalyzer.cs	(revision 12738)
@@ -136,18 +136,18 @@
       double max = cvrp.OverloadPenalty.Value * (1 + phi);
 
-      cvrp.OverloadPenalty = new DoubleValue(min + (max - min) * factor);
-      if (cvrp.OverloadPenalty.Value < minPenalty)
-        cvrp.OverloadPenalty.Value = minPenalty;
-      if (cvrp.OverloadPenalty.Value > maxPenalty)
-        cvrp.OverloadPenalty.Value = maxPenalty;
+      cvrp.CurrentOverloadPenalty = new DoubleValue(min + (max - min) * factor);
+      if (cvrp.CurrentOverloadPenalty.Value < minPenalty)
+        cvrp.CurrentOverloadPenalty.Value = minPenalty;
+      if (cvrp.CurrentOverloadPenalty.Value > maxPenalty)
+        cvrp.CurrentOverloadPenalty.Value = maxPenalty;
 
       for (int j = 0; j < qualities.Length; j++) {
-        qualities[j].Value += overloads[j].Value * cvrp.OverloadPenalty.Value;
+        qualities[j].Value += overloads[j].Value * cvrp.CurrentOverloadPenalty.Value;
       }
 
       if (!results.ContainsKey("Current Overload Penalty")) {
-        results.Add(new Result("Current Overload Penalty", new DoubleValue(cvrp.OverloadPenalty.Value)));
+        results.Add(new Result("Current Overload Penalty", new DoubleValue(cvrp.CurrentOverloadPenalty.Value)));
       } else {
-        (results["Current Overload Penalty"].Value as DoubleValue).Value = cvrp.OverloadPenalty.Value;
+        (results["Current Overload Penalty"].Value as DoubleValue).Value = cvrp.CurrentOverloadPenalty.Value;
       }
 
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/PickupAndDelivery/PickupViolationsRelaxationVRPAnalyzer.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/PickupAndDelivery/PickupViolationsRelaxationVRPAnalyzer.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/PickupAndDelivery/PickupViolationsRelaxationVRPAnalyzer.cs	(revision 12738)
@@ -136,18 +136,18 @@
       double max = pdp.PickupViolationPenalty.Value * (1 + phi);
 
-      pdp.PickupViolationPenalty = new DoubleValue(min + (max - min) * factor);
-      if (pdp.PickupViolationPenalty.Value < minPenalty)
-        pdp.PickupViolationPenalty.Value = minPenalty;
-      if (pdp.PickupViolationPenalty.Value > maxPenalty)
-        pdp.PickupViolationPenalty.Value = maxPenalty;
+      pdp.CurrentPickupViolationPenalty = new DoubleValue(min + (max - min) * factor);
+      if (pdp.CurrentPickupViolationPenalty.Value < minPenalty)
+        pdp.CurrentPickupViolationPenalty.Value = minPenalty;
+      if (pdp.CurrentPickupViolationPenalty.Value > maxPenalty)
+        pdp.CurrentPickupViolationPenalty.Value = maxPenalty;
 
       for (int j = 0; j < qualities.Length; j++) {
-        qualities[j].Value += pickupViolations[j].Value * pdp.PickupViolationPenalty.Value;
+        qualities[j].Value += pickupViolations[j].Value * pdp.CurrentPickupViolationPenalty.Value;
       }
 
       if (!results.ContainsKey("Current Pickup Violation Penalty")) {
-        results.Add(new Result("Current Pickup Violation Penalty", new DoubleValue(pdp.PickupViolationPenalty.Value)));
+        results.Add(new Result("Current Pickup Violation Penalty", new DoubleValue(pdp.CurrentPickupViolationPenalty.Value)));
       } else {
-        (results["Current Pickup Violation Penalty"].Value as DoubleValue).Value = pdp.PickupViolationPenalty.Value;
+        (results["Current Pickup Violation Penalty"].Value as DoubleValue).Value = pdp.CurrentPickupViolationPenalty.Value;
       }
 
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/TimeWindowed/TimeWindowRelaxationVRPAnalyzer.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/TimeWindowed/TimeWindowRelaxationVRPAnalyzer.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/Analyzer/ConstraintRelaxation/TimeWindowed/TimeWindowRelaxationVRPAnalyzer.cs	(revision 12738)
@@ -136,18 +136,18 @@
       double max = vrptw.TardinessPenalty.Value * (1 + phi);
 
-      vrptw.TardinessPenalty = new DoubleValue(min + (max - min) * factor);
-      if (vrptw.TardinessPenalty.Value < minPenalty)
-        vrptw.TardinessPenalty.Value = minPenalty;
-      if (vrptw.TardinessPenalty.Value > maxPenalty)
-        vrptw.TardinessPenalty.Value = maxPenalty;
+      vrptw.CurrentTardinessPenalty = new DoubleValue(min + (max - min) * factor);
+      if (vrptw.CurrentTardinessPenalty.Value < minPenalty)
+        vrptw.CurrentTardinessPenalty.Value = minPenalty;
+      if (vrptw.CurrentTardinessPenalty.Value > maxPenalty)
+        vrptw.CurrentTardinessPenalty.Value = maxPenalty;
 
       for (int j = 0; j < qualities.Length; j++) {
-        qualities[j].Value += tardiness[j].Value * vrptw.TardinessPenalty.Value;
+        qualities[j].Value += tardiness[j].Value * vrptw.CurrentTardinessPenalty.Value;
       }
 
       if (!results.ContainsKey("Current Tardiness Penalty")) {
-        results.Add(new Result("Current Tardiness Penalty", new DoubleValue(vrptw.TardinessPenalty.Value)));
+        results.Add(new Result("Current Tardiness Penalty", new DoubleValue(vrptw.CurrentTardinessPenalty.Value)));
       } else {
-        (results["Current Tardiness Penalty"].Value as DoubleValue).Value = vrptw.TardinessPenalty.Value;
+        (results["Current Tardiness Penalty"].Value as DoubleValue).Value = vrptw.CurrentTardinessPenalty.Value;
       }
 
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPProblemInstance.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPProblemInstance.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPProblemInstance.cs	(revision 12738)
@@ -61,4 +61,7 @@
           return OverloadPenaltyParameter.Value;
       }
+    }
+    DoubleValue ICapacitatedProblemInstance.CurrentOverloadPenalty {
+      get { return CurrentOverloadPenaltyParameter.Value; }
       set { CurrentOverloadPenaltyParameter.Value = value; }
     }
@@ -87,5 +90,5 @@
       Parameters.Add(new ValueParameter<DoubleArray>("Capacity", "The capacity of each vehicle.", new DoubleArray()));
       Parameters.Add(new ValueParameter<DoubleValue>("EvalOverloadPenalty", "The overload penalty considered in the evaluation.", new DoubleValue(100)));
-      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentOverloadPenalty", "The current overload penalty considered in the evaluation."));
+      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentOverloadPenalty", "The current overload penalty considered in the evaluation.") { Hidden = true });
 
       AttachEventHandlers();
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWProblemInstance.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWProblemInstance.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPPDTW/MDCVRPPDTWProblemInstance.cs	(revision 12738)
@@ -61,4 +61,7 @@
           return PickupViolationPenaltyParameter.Value;
       }
+    }
+    DoubleValue IPickupAndDeliveryProblemInstance.CurrentPickupViolationPenalty {
+      get { return CurrentPickupViolationPenaltyParameter.Value; }
       set { CurrentPickupViolationPenaltyParameter.Value = value; }
     }
@@ -94,5 +97,5 @@
 
       Parameters.Add(new ValueParameter<DoubleValue>("EvalPickupViolationPenalty", "The pickup violation penalty considered in the evaluation.", new DoubleValue(100)));
-      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentPickupViolationPenalty", "The current pickup violation penalty considered in the evaluation."));
+      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentPickupViolationPenalty", "The current pickup violation penalty considered in the evaluation.") { Hidden = true });
 
       AttachEventHandlers();
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWProblemInstance.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWProblemInstance.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWProblemInstance.cs	(revision 12738)
@@ -83,4 +83,7 @@
           return TardinessPenaltyParameter.Value;
       }
+    }
+    DoubleValue ITimeWindowedProblemInstance.CurrentTardinessPenalty {
+      get { return CurrentTardinessPenaltyParameter.Value; }
       set { CurrentTardinessPenaltyParameter.Value = value; }
     }
@@ -113,5 +116,5 @@
       Parameters.Add(new ValueParameter<DoubleValue>("EvalTimeFactor", "The time factor considered in the evaluation.", new DoubleValue(0)));
       Parameters.Add(new ValueParameter<DoubleValue>("EvalTardinessPenalty", "The tardiness penalty considered in the evaluation.", new DoubleValue(100)));
-      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentTardinessPenalty", "The current tardiness penalty considered in the evaluation."));
+      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentTardinessPenalty", "The current tardiness penalty considered in the evaluation.") { Hidden = true });
 
       AttachEventHandlers();
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPProblemInstance.cs	(revision 12738)
@@ -61,4 +61,7 @@
           return OverloadPenaltyParameter.Value;
       }
+    }
+    DoubleValue ICapacitatedProblemInstance.CurrentOverloadPenalty {
+      get { return CurrentOverloadPenaltyParameter.Value; }
       set { CurrentOverloadPenaltyParameter.Value = value; }
     }
@@ -87,5 +90,5 @@
       Parameters.Add(new ValueParameter<DoubleValue>("Capacity", "The capacity of each vehicle.", new DoubleValue(0)));
       Parameters.Add(new ValueParameter<DoubleValue>("EvalOverloadPenalty", "The overload penalty considered in the evaluation.", new DoubleValue(100)));
-      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentOverloadPenalty", "The current overload penalty considered in the evaluation."));
+      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentOverloadPenalty", "The current overload penalty considered in the evaluation.") { Hidden = true });
 
       AttachEventHandlers();
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWProblemInstance.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWProblemInstance.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWProblemInstance.cs	(revision 12738)
@@ -61,4 +61,7 @@
           return PickupViolationPenaltyParameter.Value;
       }
+    }
+    DoubleValue IPickupAndDeliveryProblemInstance.CurrentPickupViolationPenalty {
+      get { return CurrentOverloadPenaltyParameter.Value; }
       set { CurrentPickupViolationPenaltyParameter.Value = value; }
     }
@@ -94,5 +97,5 @@
 
       Parameters.Add(new ValueParameter<DoubleValue>("EvalPickupViolationPenalty", "The pickup violation penalty considered in the evaluation.", new DoubleValue(100)));
-      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentPickupViolationPenalty", "The current pickup violation penalty considered in the evaluation."));
+      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentPickupViolationPenalty", "The current pickup violation penalty considered in the evaluation.") { Hidden = true });
 
       AttachEventHandlers();
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWProblemInstance.cs	(revision 12738)
@@ -83,4 +83,7 @@
           return TardinessPenaltyParameter.Value;
       }
+    }
+    DoubleValue ITimeWindowedProblemInstance.CurrentTardinessPenalty {
+      get { return CurrentTardinessPenaltyParameter.Value; }
       set { CurrentTardinessPenaltyParameter.Value = value; }
     }
@@ -113,5 +116,5 @@
       Parameters.Add(new ValueParameter<DoubleValue>("EvalTimeFactor", "The time factor considered in the evaluation.", new DoubleValue(0)));
       Parameters.Add(new ValueParameter<DoubleValue>("EvalTardinessPenalty", "The tardiness penalty considered in the evaluation.", new DoubleValue(100)));
-      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentTardinessPenalty", "The current tardiness penalty considered in the evaluation."));
+      Parameters.Add(new OptionalValueParameter<DoubleValue>("CurrentTardinessPenalty", "The current tardiness penalty considered in the evaluation.") { Hidden = true });
 
       AttachEventHandlers();
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedProblemInstance.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedProblemInstance.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/Variants/Capacitated/ICapacitatedProblemInstance.cs	(revision 12738)
@@ -25,5 +25,6 @@
 namespace HeuristicLab.Problems.VehicleRouting.Variants {
   public interface ICapacitatedProblemInstance : IVRPProblemInstance {
-    DoubleValue OverloadPenalty { get; set; }
+    DoubleValue OverloadPenalty { get; }
+    DoubleValue CurrentOverloadPenalty { get; set; }
   }
 }
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryProblemInstance.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryProblemInstance.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/Variants/PickupAndDelivery/IPickupAndDeliveryProblemInstance.cs	(revision 12738)
@@ -26,5 +26,6 @@
   public interface IPickupAndDeliveryProblemInstance : IVRPProblemInstance {
     IntArray PickupDeliveryLocation { get; }
-    DoubleValue PickupViolationPenalty { get; set; }
+    DoubleValue PickupViolationPenalty { get; }
+    DoubleValue CurrentPickupViolationPenalty { get; set; }
 
     int GetPickupDeliveryLocation(int city);
Index: /stable/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedProblemInstance.cs
===================================================================
--- /stable/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedProblemInstance.cs	(revision 12737)
+++ /stable/HeuristicLab.Problems.VehicleRouting/3.4/Variants/TimeWindowed/ITimeWindowedProblemInstance.cs	(revision 12738)
@@ -29,5 +29,6 @@
     DoubleArray ServiceTime { get; }
     DoubleValue TimeFactor { get; }
-    DoubleValue TardinessPenalty { get; set; }
+    DoubleValue TardinessPenalty { get; }
+    DoubleValue CurrentTardinessPenalty { get; set; }
   }
 }
Index: /stable/HeuristicLab.Tests/HeuristicLab.Problems.VehicleRouting-3.4/VRPInstancesTest.cs
===================================================================
--- /stable/HeuristicLab.Tests/HeuristicLab.Problems.VehicleRouting-3.4/VRPInstancesTest.cs	(revision 12737)
+++ /stable/HeuristicLab.Tests/HeuristicLab.Problems.VehicleRouting-3.4/VRPInstancesTest.cs	(revision 12738)
@@ -42,5 +42,5 @@
       foreach (var provider in providers) {
         IEnumerable<IDataDescriptor> instances = ((dynamic)provider).GetDataDescriptors();
-        Assert.IsTrue(instances.Any(), "No instances could be found.");
+        Assert.IsTrue(instances.Any(), string.Format("No instances could be found in {0}.", provider.Name));
 
         foreach (var instance in instances) {
