Changeset 4852 for trunk/sources/HeuristicLab.Problems.VehicleRouting
- Timestamp:
- 11/19/10 14:26:38 (14 years ago)
- Location:
- trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Analyzers/BestVRPSolutionAnalyzer.cs
r4851 r4852 84 84 get { return (LookupParameter<DoubleValue>)Parameters["BestKnownQuality"]; } 85 85 } 86 public LookupParameter< VRPSolution> BestKnownSolutionParameter {87 get { return (LookupParameter< VRPSolution>)Parameters["BestKnownSolution"]; }86 public LookupParameter<IVRPEncoding> BestKnownSolutionParameter { 87 get { return (LookupParameter<IVRPEncoding>)Parameters["BestKnownSolution"]; } 88 88 } 89 89 … … 104 104 105 105 Parameters.Add(new LookupParameter<DoubleValue>("BestKnownQuality", "The quality of the best known solution of this VRP instance.")); 106 Parameters.Add(new LookupParameter< VRPSolution>("BestKnownSolution", "The best known solution of this VRP instance."));106 Parameters.Add(new LookupParameter<IVRPEncoding>("BestKnownSolution", "The best known solution of this VRP instance.")); 107 107 108 108 Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("Quality", "The qualities of the VRP solutions which should be analyzed.")); … … 127 127 } 128 128 if (!Parameters.ContainsKey("BestKnownSolution")) { 129 Parameters.Add(new LookupParameter< VRPSolution>("BestKnownSolution", "The best known solution of this VRP instance."));129 Parameters.Add(new LookupParameter<IVRPEncoding>("BestKnownSolution", "The best known solution of this VRP instance.")); 130 130 } 131 131 #endregion … … 185 185 qualities[i].Value < bestKnownQuality.Value) { 186 186 BestKnownQualityParameter.ActualValue = new DoubleValue(qualities[i].Value); 187 BestKnownSolutionParameter.ActualValue = ( VRPSolution)solution.Clone();187 BestKnownSolutionParameter.ActualValue = (IVRPEncoding)best.Clone(); 188 188 } 189 189 -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/VehicleRoutingProblem.cs
r4851 r4852 114 114 get { return BestKnownQualityParameter; } 115 115 } 116 public OptionalValueParameter< VRPSolution> BestKnownSolutionParameter {117 get { return (OptionalValueParameter< VRPSolution>)Parameters["BestKnownSolution"]; }116 public OptionalValueParameter<IVRPEncoding> BestKnownSolutionParameter { 117 get { return (OptionalValueParameter<IVRPEncoding>)Parameters["BestKnownSolution"]; } 118 118 } 119 119 #endregion … … 160 160 set { BestKnownQualityParameter.Value = value; } 161 161 } 162 public VRPSolutionBestKnownSolution {162 public IVRPEncoding BestKnownSolution { 163 163 get { return BestKnownSolutionParameter.Value; } 164 164 set { BestKnownSolutionParameter.Value = value; } … … 219 219 Parameters.Add(new ValueParameter<DoubleArray>("ServiceTime", "The service time of each customer.", new DoubleArray())); 220 220 Parameters.Add(new OptionalValueParameter<DoubleValue>("BestKnownQuality", "The quality of the best known solution of this VRP instance.")); 221 Parameters.Add(new OptionalValueParameter< VRPSolution>("BestKnownSolution", "The best known solution of this VRP instance."));221 Parameters.Add(new OptionalValueParameter<IVRPEncoding>("BestKnownSolution", "The best known solution of this TSP instance.")); 222 222 Parameters.Add(new ValueParameter<DoubleValue>("EvalFleetUsageFactor", "The fleet usage factor considered in the evaluation.", new DoubleValue(100))); 223 223 Parameters.Add(new ValueParameter<DoubleValue>("EvalTimeFactor", "The time factor considered in the evaluation.", new DoubleValue(0))); … … 440 440 #region Backwards Compatibility 441 441 if (!Parameters.ContainsKey("BestKnownSolution")) { 442 Parameters.Add(new OptionalValueParameter< VRPSolution>("BestKnownSolution", "The best known solution of this TSP instance."));442 Parameters.Add(new OptionalValueParameter<IVRPEncoding>("BestKnownSolution", "The best known solution of this TSP instance.")); 443 443 } 444 444 #endregion … … 673 673 if (BestKnownSolution != null) { 674 674 //call evaluator 675 IValue LookupParameter<DoubleMatrix> distMatrix = new ValueLookupParameter<DoubleMatrix>("DistMatrix",675 IValueParameter<DoubleMatrix> distMatrix = new ValueLookupParameter<DoubleMatrix>("DistMatrix", 676 676 DistanceMatrix); 677 677 678 678 TourEvaluation eval = VRPEvaluator.Evaluate( 679 BestKnownSolution .Solution,679 BestKnownSolution, 680 680 Vehicles, 681 681 DueTime, … … 695 695 DistanceMatrix = distMatrix.Value; 696 696 697 BestKnownSolution.DistanceMatrix = DistanceMatrix;698 BestKnownSolution.Distance = new DoubleValue(eval.Distance);699 BestKnownSolution.Overload = new DoubleValue(eval.Overload);700 BestKnownSolution.Quality = new DoubleValue(eval.Quality);701 BestKnownSolution.Tardiness = new DoubleValue(eval.Tardiness);702 BestKnownSolution.TravelTime = new DoubleValue(eval.TravelTime);703 BestKnownSolution.VehicleUtilization = new DoubleValue(eval.VehcilesUtilized);704 705 697 BestKnownQuality = new DoubleValue(eval.Quality); 706 698 } else { … … 725 717 726 718 if (cities != Coordinates.Rows - 1) 727 ErrorHandling.ShowErrorDialog(new Exception("The optimal solution does not seem to correspond with the problem data.")); 728 else { 729 VRPSolution solution = new VRPSolution(); 730 solution.Solution = encoding; 731 solution.Coordinates = Coordinates; 732 solution.DistanceMatrix = DistanceMatrix; 733 solution.ReadyTime = ReadyTime; 734 solution.DueTime = DueTime; 735 solution.ServiceTime = ServiceTime; 736 solution.UseDistanceMatrix = UseDistanceMatrix; 737 738 BestKnownSolutionParameter.Value = solution; 739 } 719 ErrorHandling.ShowErrorDialog(new Exception("Invalid solution")); 720 else 721 BestKnownSolutionParameter.Value = encoding; 740 722 } 741 723
Note: See TracChangeset
for help on using the changeset viewer.