Changeset 17517 for branches/2521_ProblemRefactoring/HeuristicLab.Problems.TravelingSalesman/3.3/TSP.cs
- Timestamp:
- 04/20/20 17:31:31 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Problems.TravelingSalesman/3.3/TSP.cs
r17382 r17517 47 47 [Storable] public IValueParameter<ITSPData> TSPDataParameter { get; private set; } 48 48 [Storable] public IValueParameter<ITSPSolution> BestKnownSolutionParameter { get; private set; } 49 [Storable] public IResultParameter<ITSPSolution> BestTSPSolutionParameter { get; private set; } 49 50 50 51 public ITSPData TSPData { … … 64 65 TSPDataParameter = cloner.Clone(original.TSPDataParameter); 65 66 BestKnownSolutionParameter = cloner.Clone(original.BestKnownSolutionParameter); 67 BestTSPSolutionParameter = cloner.Clone(original.BestTSPSolutionParameter); 66 68 } 67 69 … … 70 72 Parameters.Add(TSPDataParameter = new ValueParameter<ITSPData>("TSPData", "The main parameters of the TSP.")); 71 73 Parameters.Add(BestKnownSolutionParameter = new OptionalValueParameter<ITSPSolution>("BestKnownSolution", "The best known solution.")); 72 74 Parameters.Add(BestTSPSolutionParameter = new ResultParameter<ITSPSolution>("Best TSP Solution", "The best so far solution found.")); 75 73 76 TSPData = new EuclideanTSPData(); 74 77 Encoding.Length = TSPData.Cities; … … 112 115 } 113 116 114 IResult bestSolutionResult; 115 if (results.TryGetValue("Best TSP Solution", out bestSolutionResult)) { 116 var bestSolution = bestSolutionResult.Value as ITSPSolution; 117 if (bestSolution == null || Maximization && bestSolution.TourLength.Value < qualities[i] 118 || !Maximization && bestSolution.TourLength.Value > qualities[i]) { 119 bestSolutionResult.Value = TSPData.GetSolution(solutions[i], qualities[i]); 120 } 121 } else results.Add(new Result("Best TSP Solution", TSPData.GetSolution(solutions[i], qualities[i]))); 117 var bestSolution = BestTSPSolutionParameter.ActualValue; 118 if (bestSolution == null || IsBetter(qualities[i], bestSolution.TourLength.Value)) { 119 BestTSPSolutionParameter.ActualValue = TSPData.GetSolution(solutions[i], qualities[i]); 120 } 122 121 } 123 122
Note: See TracChangeset
for help on using the changeset viewer.