Changeset 4363 for branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPEvaluator.cs
- Timestamp:
- 09/03/10 11:15:22 (14 years ago)
- Location:
- branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP
- Files:
-
- 1 added
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/VRP/HeuristicLab.Problems.VehicleRouting/3.4/ProblemInstances/SingleDepotVRP/SingleDepotVRPEvaluator.cs
r4362 r4363 31 31 using HeuristicLab.Optimization; 32 32 using HeuristicLab.PluginInfrastructure; 33 using HeuristicLab.Problems.VehicleRouting. Interfaces.Variants;33 using HeuristicLab.Problems.VehicleRouting.Variants; 34 34 using HeuristicLab.Problems.VehicleRouting.Encodings; 35 using HeuristicLab.Problems.VehicleRouting.DomainModel;36 35 37 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances.Evaluation { 36 37 namespace HeuristicLab.Problems.VehicleRouting.ProblemInstances { 38 38 [Item("SingleDepotVRPEvaluator", "Represents a single depot VRP evaluator.")] 39 39 [StorableClass] 40 40 public class SingleDepotVRPEvaluator: VRPEvaluator { 41 41 protected override void EvaluateTour(VRPEvaluation eval, IVRPProblemInstance instance, Tour tour) { 42 double distance = 0.0; 43 double quality = 0.0; 42 44 45 //simulate a tour, start and end at depot 46 for (int i = 0; i <= tour.Stops.Count; i++) { 47 int start = 0; 48 if (i > 0) 49 start = tour.Stops[i - 1]; 50 int end = 0; 51 if (i < tour.Stops.Count) 52 end = tour.Stops[i]; 53 54 //drive there 55 double currentDistace = instance.GetDistance(start, end); 56 distance += currentDistace; 57 } 58 59 //Fleet usage 60 quality += instance.FleetUsageFactor.Value; 61 //Distance 62 quality += instance.DistanceFactor.Value * distance; 63 64 eval.Distance = distance; 65 eval.VehicleUtilization = 1; 66 67 eval.Quality = quality; 43 68 } 44 69
Note: See TracChangeset
for help on using the changeset viewer.