Changeset 17745 for branches/2521_ProblemRefactoring/HeuristicLab.Problems.TravelingSalesman/3.3/TSP.cs
- Timestamp:
- 09/15/20 13:53:11 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Problems.TravelingSalesman/3.3/TSP.cs
r17697 r17745 99 99 } 100 100 101 public override void Analyze(Permutation[] solutions, double[] qualities, ResultCollection results, IRandom random) { 102 base.Analyze(solutions, qualities, results, random); 103 int i = -1; 104 if (!Maximization) 105 i = qualities.Select((x, index) => new { index, Fitness = x }).OrderBy(x => x.Fitness).First().index; 106 else i = qualities.Select((x, index) => new { index, Fitness = x }).OrderByDescending(x => x.Fitness).First().index; 107 108 if (double.IsNaN(BestKnownQuality) || 109 Maximization && qualities[i] > BestKnownQuality || 110 !Maximization && qualities[i] < BestKnownQuality) { 111 var bestKnown = TSPData.GetSolution(solutions[i], qualities[i]); 112 BestKnownQualityParameter.Value = new DoubleValue(qualities[i]); 113 BestKnownSolutionParameter.Value = bestKnown; 114 } 115 116 var bestSolution = BestTSPSolutionParameter.ActualValue; 117 if (bestSolution == null || IsBetter(qualities[i], bestSolution.TourLength.Value)) { 118 BestTSPSolutionParameter.ActualValue = TSPData.GetSolution(solutions[i], qualities[i]); 119 } 101 public override void Analyze(ISingleObjectiveSolutionContext<Permutation>[] solutionContexts, IRandom random) { 102 base.Analyze(solutionContexts, random); 103 104 //TODO reimplement code below using results directly 105 //int i = -1; 106 //if (!Maximization) 107 // i = qualities.Select((x, index) => new { index, Fitness = x }).OrderBy(x => x.Fitness).First().index; 108 //else i = qualities.Select((x, index) => new { index, Fitness = x }).OrderByDescending(x => x.Fitness).First().index; 109 110 //if (double.IsNaN(BestKnownQuality) || 111 // Maximization && qualities[i] > BestKnownQuality || 112 // !Maximization && qualities[i] < BestKnownQuality) { 113 // var bestKnown = TSPData.GetSolution(solutions[i], qualities[i]); 114 // BestKnownQualityParameter.Value = new DoubleValue(qualities[i]); 115 // BestKnownSolutionParameter.Value = bestKnown; 116 //} 117 118 //var bestSolution = BestTSPSolutionParameter.ActualValue; 119 //if (bestSolution == null || IsBetter(qualities[i], bestSolution.TourLength.Value)) { 120 // BestTSPSolutionParameter.ActualValue = TSPData.GetSolution(solutions[i], qualities[i]); 121 //} 120 122 } 121 123
Note: See TracChangeset
for help on using the changeset viewer.