Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWEvaluator.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWEvaluator.cs	(revision 6854)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/MultiDepotVRP/MDCVRP/MDCVRPTW/MDCVRPTWEvaluator.cs	(revision 6855)
@@ -86,4 +86,7 @@
       double spareCapacity = capacity - delivered;
 
+      double tourStartTime = vrptw.ReadyTime[depot];
+      time = tourStartTime;
+
       //simulate a tour, start and end at depot
       for (int i = 0; i <= tour.Stops.Count; i++) {
@@ -131,5 +134,5 @@
         time += currentServiceTime;
 
-        CVRPTWInsertionInfo stopInfo = new CVRPTWInsertionInfo(start, end, spareCapacity, arrivalTime, time, spareTime, waitTime);
+        CVRPTWInsertionInfo stopInfo = new CVRPTWInsertionInfo(start, end, spareCapacity, tourStartTime, arrivalTime, time, spareTime, waitTime);
         tourInfo.AddStopInsertionInfo(stopInfo);
       }
@@ -199,4 +202,7 @@
       if (index > 0)
         time = (tourInsertionInfo.GetStopInsertionInfo(index - 1) as CVRPTWInsertionInfo).LeaveTime;
+      else
+        time = insertionInfo.TourStartTime;
+
       time += startDistance;
 
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluation.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluation.cs	(revision 6854)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluation.cs	(revision 6855)
@@ -41,6 +41,7 @@
     }
 
-    public CVRPPDTWInsertionInfo(int start, int end, double spareCapacity, double arrivalTime, double leaveTime, double spareTime, double waitingTime, List<int> visited, double arrivalSpareCapacity)
-      : base(start, end, spareCapacity, arrivalTime, leaveTime, spareTime, waitingTime) {
+    public CVRPPDTWInsertionInfo(int start, int end, double spareCapacity, double tourStartTime, 
+      double arrivalTime, double leaveTime, double spareTime, double waitingTime, List<int> visited, double arrivalSpareCapacity)
+      : base(start, end, spareCapacity, tourStartTime, arrivalTime, leaveTime, spareTime, waitingTime) {
         this.visited = visited;
         this.arrivalSpareCapacity = arrivalSpareCapacity;
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluator.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluator.cs	(revision 6854)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPPDTW/CVRPPDTWEvaluator.cs	(revision 6855)
@@ -75,4 +75,7 @@
       int pickupViolations = 0;
 
+      double tourStartTime = readyTime[0];
+      time = tourStartTime;
+
       //simulate a tour, start and end at depot
       for (int i = 0; i <= tour.Stops.Count; i++) {
@@ -130,5 +133,6 @@
 
         double spareCapacity = capacity - currentLoad;
-        CVRPPDTWInsertionInfo stopInfo = new CVRPPDTWInsertionInfo(start, end, spareCapacity, arrivalTime, time, spareTime, waitTime, new List<int>(stops.Keys), arrivalSpareCapacity);
+        CVRPPDTWInsertionInfo stopInfo = new CVRPPDTWInsertionInfo(start, end, spareCapacity, tourStartTime, 
+          arrivalTime, time, spareTime, waitTime, new List<int>(stops.Keys), arrivalSpareCapacity);
         tourInfo.AddStopInsertionInfo(stopInfo);
 
@@ -215,4 +219,7 @@
       if (index > 0)
         time = (tourInsertionInfo.GetStopInsertionInfo(index - 1) as CVRPTWInsertionInfo).LeaveTime;
+      else
+        time = insertionInfo.TourStartTime;
+
       time += instance.GetDistance(insertionInfo.Start, customer, solution);
       if (time > dueTime[customer]) {
Index: branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluation.cs
===================================================================
--- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluation.cs	(revision 6854)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluation.cs	(revision 6855)
@@ -29,4 +29,10 @@
 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances {
   public class CVRPTWInsertionInfo : CVRPInsertionInfo {
+    private double tourStartTime;
+
+    public double TourStartTime {
+      get { return tourStartTime; }
+    }
+    
     private double arrivalTime;
 
@@ -53,6 +59,7 @@
     }
 
-    public CVRPTWInsertionInfo(int start, int end, double spareCapacity, double arrivalTime, double leaveTime, double spareTime, double waitingTime)
+    public CVRPTWInsertionInfo(int start, int end, double spareCapacity, double tourStartTime, double arrivalTime, double leaveTime, double spareTime, double waitingTime)
       : base(start, end, spareCapacity) {
+        this.tourStartTime = tourStartTime;
         this.arrivalTime = arrivalTime;
         this.leaveTime = leaveTime;
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 6854)
+++ branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/CVRP/CVRPTW/CVRPTWEvaluator.cs	(revision 6855)
@@ -82,4 +82,7 @@
       double spareCapacity = capacity - delivered;
 
+      double tourStartTime = readyTime[0];
+      time = tourStartTime;
+
       //simulate a tour, start and end at depot
       for (int i = 0; i <= tour.Stops.Count; i++) {
@@ -119,5 +122,5 @@
         time += currentServiceTime;
 
-        CVRPTWInsertionInfo stopInfo = new CVRPTWInsertionInfo(start, end, spareCapacity, arrivalTime, time, spareTime, waitTime);
+        CVRPTWInsertionInfo stopInfo = new CVRPTWInsertionInfo(start, end, spareCapacity, tourStartTime, arrivalTime, time, spareTime, waitTime);
         tourInfo.AddStopInsertionInfo(stopInfo);
       }
@@ -186,4 +189,7 @@
       if (index > 0)
         time = (tourInsertionInfo.GetStopInsertionInfo(index - 1) as CVRPTWInsertionInfo).LeaveTime;
+      else
+        time = insertionInfo.TourStartTime;
+
       time += instance.GetDistance(insertionInfo.Start, customer, solution);
       if (time > dueTime[customer]) {
