Changeset 4852
- Timestamp:
- 11/19/10 14:26:38 (14 years ago)
- Location:
- trunk/sources
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.VehicleRouting.Views/3.3/VehicleRoutingProblemView.cs
r4851 r4852 109 109 vrpSolutionView.Content = new VRPSolution(Content.Coordinates); 110 110 else { 111 vrpSolutionView.Content = Content.BestKnownSolution; 111 //call evaluator 112 IValueLookupParameter<DoubleMatrix> distMatrix = new ValueLookupParameter<DoubleMatrix>("DistMatrix", 113 Content.DistanceMatrix); 114 115 TourEvaluation eval = VRPEvaluator.Evaluate( 116 Content.BestKnownSolution, 117 Content.Vehicles, 118 Content.DueTime, 119 Content.ServiceTime, 120 Content.ReadyTime, 121 Content.Demand, 122 Content.Capacity, 123 Content.FleetUsageFactorParameter.Value, 124 Content.TimeFactorParameter.Value, 125 Content.DistanceFactorParameter.Value, 126 Content.OverloadPenaltyParameter.Value, 127 Content.TardinessPenaltyParameter.Value, 128 Content.Coordinates, 129 distMatrix, 130 Content.UseDistanceMatrix); 131 132 Content.DistanceMatrix = distMatrix.Value; 133 134 vrpSolutionView.Content = new VRPSolution(Content.Coordinates, 135 Content.BestKnownSolution, 136 new DoubleValue(eval.Quality), 137 new DoubleValue(eval.Distance), 138 new DoubleValue(eval.Overload), 139 new DoubleValue(eval.Tardiness), 140 new DoubleValue(eval.TravelTime), 141 new DoubleValue(eval.VehcilesUtilized), 142 Content.DistanceMatrix, 143 Content.UseDistanceMatrix, 144 Content.ReadyTime, 145 Content.DueTime, 146 Content.ServiceTime); 112 147 } 113 148 } -
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.