- Timestamp:
- 04/16/13 13:13:41 (12 years ago)
- Location:
- branches/OaaS
- Files:
-
- 7 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/OaaS
- Property svn:ignore
-
old new 21 21 protoc.exe 22 22 _ReSharper.HeuristicLab 3.3 Tests 23 Google.ProtocolBuffers-2.4.1.473.dll 23 24 packages
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/OaaS/HeuristicLab.Problems.VehicleRouting
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Problems.VehicleRouting (added) merged: 8231,8246,8346,8455,8497,8600,8649,8651-8653,8720,8763,8894,8899,8905,8922,9010,9321
- Property svn:mergeinfo changed
-
branches/OaaS/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPInterpreter.cs
r8053 r9363 24 24 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin; 25 25 using HeuristicLab.Problems.VehicleRouting.ProblemInstances; 26 using HeuristicLab.Problems.VehicleRouting.Interfaces; 27 using System; 26 28 27 29 namespace HeuristicLab.Problems.VehicleRouting.Interpreters { 28 public class CVRPInterpreter : IVRPDataInterpreter<CVRPData> { 29 public VRPInstanceDescription Interpret(IVRPData data) { 30 CVRPData cvrpData = data as CVRPData; 30 public class CVRPInterpreter : VRPInterpreter, IVRPDataInterpreter<CVRPData> { 31 protected override IVRPProblemInstance CreateProblemInstance() { 32 return new CVRPProblemInstance(); 33 } 31 34 32 VRPInstanceDescription result = new VRPInstanceDescription(); 33 result.Name = cvrpData.Name; 34 result.Description = cvrpData.Description; 35 36 CVRPProblemInstance problem = new CVRPProblemInstance(); 35 protected override void Interpret(IVRPData data, IVRPProblemInstance problemInstance) { 36 CVRPData cvrpData = (CVRPData)data; 37 CVRPProblemInstance problem = (CVRPProblemInstance)problemInstance; 38 37 39 if (cvrpData.Coordinates != null) 38 40 problem.Coordinates = new DoubleMatrix(cvrpData.Coordinates); … … 47 49 problem.DistanceMatrix = new DoubleMatrix(cvrpData.GetDistanceMatrix()); 48 50 } 49 result.ProblemInstance = problem;50 51 result.BestKnownQuality = cvrpData.BestKnownQuality;52 if (cvrpData.BestKnownTour != null) {53 PotvinEncoding solution = new PotvinEncoding(problem);54 55 for (int i = 0; i < cvrpData.BestKnownTour.GetLength(0); i++) {56 Tour tour = new Tour();57 solution.Tours.Add(tour);58 59 foreach (int stop in cvrpData.BestKnownTour[i]) {60 tour.Stops.Add(stop + 1);61 }62 }63 64 result.BestKnownSolution = solution;65 }66 67 return result;68 51 } 69 52 } -
branches/OaaS/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/CVRPTWInterpreter.cs
r8053 r9363 24 24 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin; 25 25 using HeuristicLab.Problems.VehicleRouting.ProblemInstances; 26 using HeuristicLab.Problems.VehicleRouting.Interfaces; 27 using System; 26 28 27 29 namespace HeuristicLab.Problems.VehicleRouting.Interpreters { 28 public class CVRPTWInterpreter : IVRPDataInterpreter<CVRPTWData> { 29 public VRPInstanceDescription Interpret(IVRPData data) { 30 CVRPTWData cvrpData = data as CVRPTWData; 30 public class CVRPTWInterpreter: CVRPInterpreter, IVRPDataInterpreter<CVRPTWData> { 31 protected override IVRPProblemInstance CreateProblemInstance() { 32 return new CVRPTWProblemInstance(); 33 } 31 34 32 VRPInstanceDescription result = new VRPInstanceDescription(); 33 result.Name = cvrpData.Name; 34 result.Description = cvrpData.Description; 35 protected override void Interpret(IVRPData data, IVRPProblemInstance problemInstance) { 36 base.Interpret(data, problemInstance); 35 37 36 CVRPTWProblemInstance problem = new CVRPTWProblemInstance(); 37 if (cvrpData.Coordinates != null) 38 problem.Coordinates = new DoubleMatrix(cvrpData.Coordinates); 39 if (cvrpData.MaximumVehicles != null) 40 problem.Vehicles.Value = (int)cvrpData.MaximumVehicles; 41 else 42 problem.Vehicles.Value = cvrpData.Dimension - 1; 43 problem.Capacity.Value = cvrpData.Capacity; 44 problem.Demand = new DoubleArray(cvrpData.Demands); 45 if (cvrpData.DistanceMeasure != DistanceMeasure.Euclidean) { 46 problem.UseDistanceMatrix.Value = true; 47 problem.DistanceMatrix = new DoubleMatrix(cvrpData.GetDistanceMatrix()); 48 } 49 problem.ReadyTime = new DoubleArray(cvrpData.ReadyTimes); 50 problem.ServiceTime = new DoubleArray(cvrpData.ServiceTimes); 51 problem.DueTime = new DoubleArray(cvrpData.DueTimes); 52 result.ProblemInstance = problem; 38 CVRPTWData cvrptwData = (CVRPTWData)data; 39 CVRPTWProblemInstance problem = (CVRPTWProblemInstance)problemInstance; 53 40 54 result.BestKnownQuality = cvrpData.BestKnownQuality; 55 if (cvrpData.BestKnownTour != null) { 56 PotvinEncoding solution = new PotvinEncoding(problem); 57 58 for (int i = 0; i < cvrpData.BestKnownTour.GetLength(0); i++) { 59 Tour tour = new Tour(); 60 solution.Tours.Add(tour); 61 62 foreach (int stop in cvrpData.BestKnownTour[i]) { 63 tour.Stops.Add(stop + 1); 64 } 65 } 66 67 result.BestKnownSolution = solution; 68 } 69 70 return result; 41 problem.ReadyTime = new DoubleArray(cvrptwData.ReadyTimes); 42 problem.ServiceTime = new DoubleArray(cvrptwData.ServiceTimes); 43 problem.DueTime = new DoubleArray(cvrptwData.DueTimes); 71 44 } 72 45 } -
branches/OaaS/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/IVRPDataInterpreter.cs
r8053 r9363 22 22 using HeuristicLab.Problems.Instances; 23 23 using HeuristicLab.Problems.VehicleRouting.Interfaces; 24 using System; 24 25 25 26 namespace HeuristicLab.Problems.VehicleRouting.Interpreters { -
branches/OaaS/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/MDCVRPTWInterpreter.cs
r8053 r9363 24 24 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin; 25 25 using HeuristicLab.Problems.VehicleRouting.ProblemInstances; 26 using HeuristicLab.Problems.VehicleRouting.Interfaces; 27 using System; 26 28 27 29 namespace HeuristicLab.Problems.VehicleRouting.Interpreters { 28 public class MDCVRPTWInterpreter : IVRPDataInterpreter<MDCVRPTWData> { 29 public VRPInstanceDescription Interpret(IVRPData data) { 30 MDCVRPTWData cvrpData = data as MDCVRPTWData; 30 public class MDCVRPTWInterpreter : MDCVRPInterpreter, IVRPDataInterpreter<MDCVRPTWData> { 31 protected override IVRPProblemInstance CreateProblemInstance() { 32 return new MDCVRPTWProblemInstance(); 33 } 31 34 32 VRPInstanceDescription result = new VRPInstanceDescription(); 33 result.Name = cvrpData.Name; 34 result.Description = cvrpData.Description; 35 protected override void Interpret(IVRPData data, IVRPProblemInstance problemInstance) { 36 base.Interpret(data, problemInstance); 35 37 36 MDCVRPTWProblemInstance problem = new MDCVRPTWProblemInstance(); 37 if (cvrpData.Coordinates != null) 38 problem.Coordinates = new DoubleMatrix(cvrpData.Coordinates); 39 if (cvrpData.MaximumVehicles != null) 40 problem.Vehicles.Value = (int)cvrpData.MaximumVehicles; 41 else 42 problem.Vehicles.Value = cvrpData.Dimension - 1; 43 problem.Capacity = new DoubleArray(cvrpData.Capacity); 44 problem.Demand = new DoubleArray(cvrpData.Demands); 45 if (cvrpData.DistanceMeasure != DistanceMeasure.Euclidean) { 46 problem.UseDistanceMatrix.Value = true; 47 problem.DistanceMatrix = new DoubleMatrix(cvrpData.GetDistanceMatrix()); 48 } 38 MDCVRPTWData cvrptwData = (MDCVRPTWData)data; 39 MDCVRPTWProblemInstance problem = (MDCVRPTWProblemInstance)problemInstance; 49 40 50 problem.Depots.Value = cvrpData.Depots; 51 problem.VehicleDepotAssignment = new IntArray(cvrpData.VehicleDepotAssignment); 52 53 problem.ReadyTime = new DoubleArray(cvrpData.ReadyTimes); 54 problem.ServiceTime = new DoubleArray(cvrpData.ServiceTimes); 55 problem.DueTime = new DoubleArray(cvrpData.DueTimes); 56 result.ProblemInstance = problem; 57 58 result.BestKnownQuality = cvrpData.BestKnownQuality; 59 if (cvrpData.BestKnownTour != null) { 60 PotvinEncoding solution = new PotvinEncoding(problem); 61 62 for (int i = 0; i < cvrpData.BestKnownTour.GetLength(0); i++) { 63 Tour tour = new Tour(); 64 solution.Tours.Add(tour); 65 66 foreach (int stop in cvrpData.BestKnownTour[i]) { 67 tour.Stops.Add(stop + 1); 68 } 69 } 70 71 result.BestKnownSolution = solution; 72 } 73 74 return result; 41 problem.ReadyTime = new DoubleArray(cvrptwData.ReadyTimes); 42 problem.ServiceTime = new DoubleArray(cvrptwData.ServiceTimes); 43 problem.DueTime = new DoubleArray(cvrptwData.DueTimes); 75 44 } 76 45 } -
branches/OaaS/HeuristicLab.Problems.VehicleRouting/3.4/Interpreters/PDPTWInterpreter.cs
r8053 r9363 24 24 using HeuristicLab.Problems.VehicleRouting.Encodings.Potvin; 25 25 using HeuristicLab.Problems.VehicleRouting.ProblemInstances; 26 using HeuristicLab.Problems.VehicleRouting.Interfaces; 27 using System; 26 28 27 29 namespace HeuristicLab.Problems.VehicleRouting.Interpreters { 28 public class PDPTWInterpreter : IVRPDataInterpreter<PDPTWData> { 29 public VRPInstanceDescription Interpret(IVRPData data) { 30 PDPTWData cvrpData = data as PDPTWData; 30 public class PDPTWInterpreter : CVRPTWInterpreter, IVRPDataInterpreter<PDPTWData> { 31 protected override IVRPProblemInstance CreateProblemInstance() { 32 return new CVRPPDTWProblemInstance(); 33 } 31 34 32 VRPInstanceDescription result = new VRPInstanceDescription(); 33 result.Name = cvrpData.Name; 34 result.Description = cvrpData.Description; 35 protected override void Interpret(IVRPData data, IVRPProblemInstance problemInstance) { 36 base.Interpret(data, problemInstance); 35 37 36 CVRPPDTWProblemInstance problem = new CVRPPDTWProblemInstance(); 37 if (cvrpData.Coordinates != null) 38 problem.Coordinates = new DoubleMatrix(cvrpData.Coordinates); 39 if (cvrpData.MaximumVehicles != null) 40 problem.Vehicles.Value = (int)cvrpData.MaximumVehicles; 41 else 42 problem.Vehicles.Value = cvrpData.Dimension - 1; 43 problem.Capacity.Value = cvrpData.Capacity; 44 problem.Demand = new DoubleArray(cvrpData.Demands); 45 if (cvrpData.DistanceMeasure != DistanceMeasure.Euclidean) { 46 problem.UseDistanceMatrix.Value = true; 47 problem.DistanceMatrix = new DoubleMatrix(cvrpData.GetDistanceMatrix()); 48 } 49 problem.ReadyTime = new DoubleArray(cvrpData.ReadyTimes); 50 problem.ServiceTime = new DoubleArray(cvrpData.ServiceTimes); 51 problem.DueTime = new DoubleArray(cvrpData.DueTimes); 52 problem.PickupDeliveryLocation = new IntArray(cvrpData.PickupDeliveryLocations); 53 result.ProblemInstance = problem; 38 PDPTWData pdpData = (PDPTWData)data; 39 CVRPPDTWProblemInstance problem = (CVRPPDTWProblemInstance)problemInstance; 54 40 55 result.BestKnownQuality = cvrpData.BestKnownQuality; 56 if (cvrpData.BestKnownTour != null) { 57 PotvinEncoding solution = new PotvinEncoding(problem); 58 59 for (int i = 0; i < cvrpData.BestKnownTour.GetLength(0); i++) { 60 Tour tour = new Tour(); 61 solution.Tours.Add(tour); 62 63 foreach (int stop in cvrpData.BestKnownTour[i]) { 64 tour.Stops.Add(stop + 1); 65 } 66 } 67 68 result.BestKnownSolution = solution; 69 } 70 71 return result; 41 problem.PickupDeliveryLocation = new IntArray(pdpData.PickupDeliveryLocations); 72 42 } 73 43 }
Note: See TracChangeset
for help on using the changeset viewer.