Index: /branches/DynamicVehicleRouting/HeuristicLab.PDPSimulation/3.3/Parsers/DefaultDynPDPParser.cs
===================================================================
--- /branches/DynamicVehicleRouting/HeuristicLab.PDPSimulation/3.3/Parsers/DefaultDynPDPParser.cs	(revision 8674)
+++ /branches/DynamicVehicleRouting/HeuristicLab.PDPSimulation/3.3/Parsers/DefaultDynPDPParser.cs	(revision 8675)
@@ -20,63 +20,63 @@
 #endregion
 
-using System;
-using System.Collections.Generic;
 using System.IO;
 using System.Text.RegularExpressions;
 
 namespace HeuristicLab.PDPSimulation {
-  class DefaultDynPDPParser: DynPDPParser {
-    public DefaultDynPDPParser(string file): base(file) {
+  class DefaultDynPDPParser : DynPDPParser {
+    public DefaultDynPDPParser(string file)
+      : base(file) {
     }
 
     public override void Parse() {
       string line;
-      Regex reg = new Regex(@"-?\d+");
+      Regex reg = new Regex(@"-?(\d+\.\d+|\d+)");
       MatchCollection m;
 
-      StreamReader reader = new StreamReader(file);
+      using (var reader = new StreamReader(file)) {
 
-      line = reader.ReadLine();
-      problemName = line;
+        line = reader.ReadLine();
+        problemName = line;
 
-      line = reader.ReadLine();
-      int vehicleCount = int.Parse(line);
+        line = reader.ReadLine();
+        int vehicleCount = int.Parse(line);
 
-      for (int i = 0; i < vehicleCount; i++) {
+        for (int i = 0; i < vehicleCount; i++) {
+          line = reader.ReadLine();
+          m = reg.Matches(line);
+          Vehicle v = new Vehicle();
+
+          v.xCoord = double.Parse(m[0].Value);
+          v.yCoord = double.Parse(m[1].Value);
+          v.capacity = double.Parse(m[2].Value);
+          v.readyTime = double.Parse(m[3].Value);
+          v.dueTime = double.Parse(m[4].Value);
+
+          vehicles.Add(v);
+        }
+
         line = reader.ReadLine();
+        int orderCount = int.Parse(line);
         m = reg.Matches(line);
-        Vehicle v = new Vehicle();
+        for (int i = 0; i < orderCount; i++) {
+          line = reader.ReadLine();
+          m = reg.Matches(line);
+          Order o = new Order();
 
-        v.xCoord = double.Parse(m[0].Value);
-        v.yCoord = double.Parse(m[1].Value);
-        v.capacity = double.Parse(m[2].Value);
-        v.readyTime = double.Parse(m[3].Value);
-        v.dueTime = double.Parse(m[4].Value);
+          o.revealedTime = double.Parse(m[0].Value);
+          o.pickupXCoord = double.Parse(m[1].Value);
+          o.pickupYCoord = double.Parse(m[2].Value);
+          o.deliveryXCoord = double.Parse(m[3].Value);
+          o.deliveryYCoord = double.Parse(m[4].Value);
+          o.demand = double.Parse(m[5].Value);
+          o.pickupServiceTime = double.Parse(m[6].Value);
+          o.pickupReadyTime = double.Parse(m[7].Value);
+          o.pickupDueTime = double.Parse(m[8].Value);
+          o.deliveryServiceTime = double.Parse(m[9].Value);
+          o.deliveryReadyTime = double.Parse(m[10].Value);
+          o.deliveryDueTime = double.Parse(m[11].Value);
 
-        vehicles.Add(v);
-      }
-
-      line = reader.ReadLine();
-      int orderCount = int.Parse(line);
-      m = reg.Matches(line);
-      for (int i = 0; i < orderCount; i++) {
-        line = reader.ReadLine();
-        m = reg.Matches(line);
-        Order o = new Order();
-
-        o.revealedTime = double.Parse(m[0].Value);
-        o.pickupXCoord = double.Parse(m[1].Value);
-        o.pickupYCoord = double.Parse(m[2].Value);
-        o.deliveryXCoord = double.Parse(m[3].Value);
-        o.deliveryYCoord = double.Parse(m[4].Value);
-        o.demand = double.Parse(m[5].Value);
-        o.pickupServiceTime = double.Parse(m[6].Value);
-        o.pickupReadyTime = double.Parse(m[7].Value);
-        o.pickupDueTime = double.Parse(m[8].Value);
-        o.deliveryServiceTime = double.Parse(m[9].Value);
-        o.deliveryReadyTime = double.Parse(m[10].Value);
-        o.deliveryDueTime = double.Parse(m[11].Value);
-
-        orders.Add(o);
+          orders.Add(o);
+        }
       }
     }
Index: /branches/DynamicVehicleRouting/HeuristicLab.PDPSimulation/3.3/Parsers/TSPLibDynPDPParser.cs
===================================================================
--- /branches/DynamicVehicleRouting/HeuristicLab.PDPSimulation/3.3/Parsers/TSPLibDynPDPParser.cs	(revision 8674)
+++ /branches/DynamicVehicleRouting/HeuristicLab.PDPSimulation/3.3/Parsers/TSPLibDynPDPParser.cs	(revision 8675)
@@ -20,5 +20,4 @@
 #endregion
 
-using System;
 using System.Collections.Generic;
 using System.IO;
@@ -26,90 +25,92 @@
 
 namespace HeuristicLab.PDPSimulation {
-  class TSPLibDynPDPParser: DynPDPParser {
-    public TSPLibDynPDPParser(string file): base(file) {
+  class TSPLibDynPDPParser : DynPDPParser {
+    public TSPLibDynPDPParser(string file)
+      : base(file) {
     }
 
     public override void Parse() {
       string line;
-      Regex reg = new Regex(@"-?\d+");
+      Regex reg = new Regex(@"-?(\d+\.\d+|\d+)");
       MatchCollection m;
 
-      StreamReader reader = new StreamReader(file);
+      using (var reader = new StreamReader(file)) {
 
-      line = reader.ReadLine();
-      problemName = line.Split(':')[1].Remove(0, 1);
+        line = reader.ReadLine();
+        problemName = line.Split(':')[1].Remove(0, 1);
 
-      line = reader.ReadLine();
-      string vehicleLine = problemName = line.Split(':')[1].Remove(0, 1);
-      int vehicleCount = int.Parse(vehicleLine);
+        line = reader.ReadLine();
+        string vehicleLine = problemName = line.Split(':')[1].Remove(0, 1);
+        int vehicleCount = int.Parse(vehicleLine);
 
-      line = reader.ReadLine();
-      string capacityLine = problemName = line.Split(':')[1].Remove(0, 1);
-      int capacity = int.Parse(capacityLine);
+        line = reader.ReadLine();
+        string capacityLine = problemName = line.Split(':')[1].Remove(0, 1);
+        int capacity = int.Parse(capacityLine);
 
-      line = reader.ReadLine();
-      string dueTimeLine = problemName = line.Split(':')[1].Remove(0, 1);
-      int dueTime = int.Parse(dueTimeLine);
+        line = reader.ReadLine();
+        string dueTimeLine = problemName = line.Split(':')[1].Remove(0, 1);
+        int dueTime = int.Parse(dueTimeLine);
 
-      List<double> xCoord = new List<double>();
-      List<double> yCoord = new List<double>();
+        List<double> xCoord = new List<double>();
+        List<double> yCoord = new List<double>();
 
-      line = reader.ReadLine();
-      line = reader.ReadLine();
-      m = reg.Matches(line);
-      while (m.Count == 3) {
-        xCoord.Add(double.Parse(m[1].Value));
-        yCoord.Add(double.Parse(m[2].Value));
+        line = reader.ReadLine();
+        line = reader.ReadLine();
+        m = reg.Matches(line);
+        while (m.Count == 3) {
+          xCoord.Add(double.Parse(m[1].Value));
+          yCoord.Add(double.Parse(m[2].Value));
+
+          line = reader.ReadLine();
+          m = reg.Matches(line);
+        }
+
+        for (int i = 0; i < vehicleCount; i++) {
+          Vehicle v = new Vehicle();
+
+          v.xCoord = xCoord[0];
+          v.yCoord = yCoord[0];
+          v.capacity = capacity;
+          v.readyTime = 0;
+          v.dueTime = dueTime;
+
+          vehicles.Add(v);
+        }
 
         line = reader.ReadLine();
         m = reg.Matches(line);
-      }
 
-      for (int i = 0; i < vehicleCount; i++) {
-        Vehicle v = new Vehicle();
+        while (m.Count == 11) {
+          Order o = new Order();
 
-        v.xCoord = xCoord[0];
-        v.yCoord = yCoord[0];
-        v.capacity = capacity;
-        v.readyTime = 0;
-        v.dueTime = dueTime;
+          int pickupId = int.Parse(m[1].Value);
+          int deliveryId = int.Parse(m[2].Value);
+          double pickupTWOpen = double.Parse(m[3].Value);
+          double pickupTWClose = double.Parse(m[4].Value);
+          double pickupServiceTime = double.Parse(m[5].Value);
+          double deliveryTWOpen = double.Parse(m[6].Value);
+          double deliveryTWClose = double.Parse(m[7].Value);
+          double deliveryServiceTime = double.Parse(m[8].Value);
+          double demand = double.Parse(m[9].Value);
+          double revealed = double.Parse(m[10].Value);
 
-        vehicles.Add(v);
-      }
+          o.revealedTime = revealed;
+          o.pickupXCoord = xCoord[pickupId];
+          o.pickupYCoord = yCoord[pickupId];
+          o.deliveryXCoord = xCoord[deliveryId];
+          o.deliveryYCoord = yCoord[deliveryId];
+          o.demand = demand;
+          o.pickupServiceTime = pickupServiceTime;
+          o.pickupReadyTime = pickupTWOpen;
+          o.pickupDueTime = pickupTWClose;
+          o.deliveryServiceTime = deliveryServiceTime;
+          o.deliveryReadyTime = deliveryTWOpen;
+          o.deliveryDueTime = deliveryTWClose;
 
-      line = reader.ReadLine();
-      m = reg.Matches(line);
+          orders.Add(o);
 
-      while (m.Count == 11) {
-        Order o = new Order();
-
-        int pickupId = int.Parse(m[1].Value);
-        int deliveryId = int.Parse(m[2].Value);
-        double pickupTWOpen = double.Parse(m[3].Value);
-        double pickupTWClose = double.Parse(m[4].Value);
-        double pickupServiceTime = double.Parse(m[5].Value);
-        double deliveryTWOpen = double.Parse(m[6].Value);
-        double deliveryTWClose = double.Parse(m[7].Value);
-        double deliveryServiceTime = double.Parse(m[8].Value);
-        double demand = double.Parse(m[9].Value);
-        double revealed = double.Parse(m[10].Value);
-
-        o.revealedTime = revealed;
-        o.pickupXCoord = xCoord[pickupId];
-        o.pickupYCoord = yCoord[pickupId];
-        o.deliveryXCoord = xCoord[deliveryId];
-        o.deliveryYCoord = yCoord[deliveryId];
-        o.demand = demand;
-        o.pickupServiceTime = pickupServiceTime;
-        o.pickupReadyTime = pickupTWOpen;
-        o.pickupDueTime = pickupTWClose;
-        o.deliveryServiceTime = deliveryServiceTime;
-        o.deliveryReadyTime = deliveryTWOpen;
-        o.deliveryDueTime = deliveryTWClose;
-
-        orders.Add(o);
-
-        line = reader.ReadLine();
-        m = reg.Matches(line);
+          line = reader.ReadLine();
+          m = reg.Matches(line);
+        }
       }
     }
